2013-03-10 48 views
-3

我在我的網站在原型階段。

由於準備好的語句更安全&與mysql數據庫交談的新方法,我決定使用它們並閱讀php.net中的相關部分,但php.net中的所有示例都帶有佔位符,如where name = ?

下面我不需要佔位符我想,但我無法實現打印我的輸出。

我沒有從我的分貝輸出。

我有一個是通知:

注意:未定義的變量:行...第16行
注意:未定義的變量:行...第16行
注意:未定義的變量:行...在線16
注意:未定義的變量:行在...上線16

我該怎麼辦?你能幫我嗎。

謝謝你,至於

在我的index.php

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(); 
} 
+0

此[PHP錯誤參考](http://stackoverflow.com/q/12769982/367456)可能對您有所幫助。 – hakre 2013-03-10 13:46:52

回答

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陣列。

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);

相關問題