gpt4 book ai didi

php - 为什么我的 SQL 查询没有返回任何记录?

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:50 24 4
gpt4 key购买 nike

我正在尝试获取其中一个数据库表中的记录数,其中 post_id 字段等于我与之比较的 $postID 变量。当我将 {$postID} 换成一个整数(例如 130)时,查询会按预期返回结果。但是,每当我尝试使用 $postID 变量查询我的数据库时,都不会返回任何结果。我检查了 $postID 包含的内容以确保将 post_id 与正确的值进行比较,并且它包含 130 的整数值.

如果查询使用硬编码的 130 代替 $postID,为什么当我使用 $postID 时它不起作用也等于 130 吗?

$postID = get_the_ID();
$postLikes = $wpdb->get_results('
SELECT COUNT(*) FROM wp_post_likes WHERE post_id = {$postID}
');

echo "<pre>";
var_dump($postLikes);
echo "</pre>";

最佳答案

变量替换不会发生在单引号字符串中,参见 Variable parsing .

我建议您使用参数化查询,而不是将负载数据混合到实际语句中,请参阅 Protect Queries Against SQL Injection Attacks

$postLikes = $wpdb->get_col($wpdb->prepare( 
'SELECT COUNT(*) FROM wp_post_likes WHERE post_id = %s',
get_the_ID()
));

关于php - 为什么我的 SQL 查询没有返回任何记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35513875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com