[英]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.