-3

我的网站处于原型阶段。

由于准备好的语句更安全并且是与 mysql db 对话的新方式,我决定使用它们并阅读 php.net 中的相关部分,但 php.net 中的所有示例都带有占位符,例如where name = ?.

下面我不需要占位符,但我无法打印我的输出。

我的数据库没有输出。

我有以下注意事项:

注意:未定义变量:第 16 行中的行
注意:未定义变量:第 16 行中的行
注意:未定义变量:第 16 行中的行
注意:未定义变量: row in ... 第 16 行

我该怎么办?你能帮我吗。

谢谢,

在我的 index.php中问候

//mysql bağlantısı
    global $db_baglanti;
    $db_baglanti = new mysqli(vt_host, vt_user, vt_password, vt_name);
    if ($db_baglanti->connect_errno) 
    {
        echo "MySQL bağlantısı kurulamadı: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }

    if (!$db_baglanti->set_charset("utf8")) 
    {
        printf("utf8 karakter setinin yüklenmesinde problem oluştu: %s\n", $db_baglanti->error);
    } 
    else 
    {
        $db_baglanti->set_charset("utf8");
    }

在包含的页面中

$sorgum = "SELECT kolon_baslik, kolon_yazi FROM tb_yazilar";


if ($beyan = $db_baglanti->prepare($sorgum)) 
{

    /* execute statement */
    $beyan->execute();



    /* fetch values */
    while ($beyan->fetch()) {
        echo $row['kolon_baslik'].'<br /><br />'.$row['kolon_yazi'].'<br /><br />';
    }

    /* close statement */
    $beyan->close();
}
4

2 回答 2

0

来自万能手册:http ://www.php.net/manual/en/mysqli-stmt.fetch.php

请注意,在调用 mysqli_stmt_fetch() 之前,应用程序必须绑定所有列。

从第一个例子开始:

/* execute statement */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($name, $code);

/* fetch values */
while ($stmt->fetch()) {
    printf ("%s (%s)\n", $name, $code);
}

您缺少的是$beyan->bind_result($kolon_baslik, $kolon_yazi);并使用这些变量而不是不存在的$row数组。

于 2013-03-10T13:46:54.610 回答
0

谢谢,我在这个链接找到了答案:http: //php.net/manual/en/mysqli-stmt.fetch.php

工作代码是:

if ($beyan = $db_baglanti->prepare($sorgum)) 
{

    /* execute statement */
    $beyan->execute();

    /* bind result variables */
    $beyan->bind_result($name, $code);

    /* fetch values */
    while ($beyan->fetch()) {
        //printf ("%s (%s)\n", $name, $code)
        echo $name.'<br /><br />'.$code.'<br /><br />';
    }

    /* close statement */
    $beyan->close();
}

我了解到我必须将 mysql 结果绑定到变量,然后打印绑定的变量值。相关代码是:$beyan->bind_result($name, $code);

于 2013-03-10T13:58:25.427 回答