我是PHP & mySQL的新手,但我懷疑這裏有些撇號相關的bug(也許)。mySql查詢找不到該行
出於某種原因,第一個查詢似乎總是返回null,因爲
echo "result: $result\n";
從來沒有打印任何數據。在預期的第一次調用中,但在第二次調用時,該玩家已被添加到數據庫中。我的數據庫的工作原理是,我可以看到具有正確ID的行被添加到數據庫(通過phpMyAdmin)。
你能幫我發現錯誤嗎?
<?php
require_once('Db.php');
$db = new Db();
// Quote and escape form submitted values
$id = $db->quote($_POST['id']);
$score = $db->quote($_POST['score']);
$result = $db->query("SELECT `id` FROM `xxxxxx`.`Player` WHERE `id` = `$id`");
echo "result: $result\n"; // Never prints any data
if($result->num_rows == 0) {
// Row not found. Create it!
$result = $db->query("INSERT INTO `xxxxxx`.`Player` (`id`,`score`) VALUES (" . $id . "," . 0 . ")");
}
?>
試 「的var_dump($結果);」 – doev 2015-03-13 09:43:04
因爲'$ result'必須是關聯數組或對象,不能使用'echo'打印。嘗試'var_dump($ result);'或'print_r($ result);' – prava 2015-03-13 09:44:10
請參閱http://stackoverflow.com/tags/php/info並搜索「我有一個典型」不起作用的「問題」。 – 2015-03-13 09:54:32