簡體   English   中英

php mysqli不返回值

[英]php mysqli not returning value

這是給我一個問題的代碼:

$letter = $_POST['artistButton'];
$result = $mysqli->query("SELECT * FROM `Generic` WHERE `songName` LIKE '$letter%'");
$row    = $result->fetch_array();

while ($row = $result->fetch_array()) {
    $Artist = $row['Artist'];
    $songName = $row['songName'];
    $Duration = $row['Duration'];
    $URL = $row['URL'];
    $Genre = $row['Genre'];
    echo "<input type='submit' value='$songName' name='artistButton'>";
    echo "<br />";
}

該語句是正確的,我將其保存到變量中並打印到屏幕上,然后從數據庫中運行它,並打印了我想要的結果,所以絕對不是那樣。 由於某種原因,盡管它沒有顯示。 我猜想這與我從mysql轉換到mysqli搞砸了有關。 謝謝-山姆

顯然,某些代碼已被刪減,但請嘗試刪除這些多余的代碼:

$row = $result->fetch_array();

並使用:

while($row = $result->fetch_assoc()) {

由於您仍然對關聯索引感興趣。

重要說明:由於您使用的是mysqli_* ,請改用其參數化查詢。 不要在查詢中直接使用$_POST值。

$letter = "{$_POST[artistButton]}%";
$stmt = $mysqli->prepare('SELECT * FROM `Generic` WHERE `songName` LIKE ?');
$stmt->bind_param('s', $letter);
$stmt->execute();

$result = $stmt->get_result();

while($row = $result->fetch_assoc()) {
    $Artist = $row['Artist'];
    $songName = $row['songName'];
    $Duration = $row['Duration'];
    $URL = $row['URL'];
    $Genre = $row['Genre'];
    echo "<input type='submit' value='$songName' name='artistButton'>";
    echo "<br />";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM