我一直在思考"错误"但是不能说它为什么会返回false。 我已经为此完成了SELECT,但这是在另一个文件中..
$result = $db->dbh->prepare("SELECT thumbs FROM skill WHERE id=? LIMIT 1");
$result->bindParam(1, $id);
// $id == 4 here
$result->execute();
$row = $result->fetch(PDO::FETCH_ASSOC);
// $row == false > why ?
$thumbs = $row['thumbs'];
当我试图在PhpMyAdmin上运行它时,效果很好。
我在AJAX调用上执行此代码,并使用相同的config.php文件进行$ db连接。
另一个问题:
$sql_in = $db->dbh->prepare("INSERT INTO `voted_ip` (id, ip) VALUES (:id, :ip)");
// $id == 4
$sql_in->bindParam(":id", $id);
$sql_in->bindParam(":ip", $ip, PDO::PARAM_STR);
$sql_in->execute();
它插入" 0"和我的IP。为什么0?
请帮忙
答案 0 :(得分:1)
这是因为$ id是一个STRING由MySQL转换为0。
$id = intval($id);