Php 使用变量时,查询返回不同的(否)结果
我有两个select查询返回不同的结果,如下所示: 此查询返回29行:Php 使用变量时,查询返回不同的(否)结果,php,mysql,Php,Mysql,我有两个select查询返回不同的结果,如下所示: 此查询返回29行: SELECT SQL_CALC_FOUND_ROWS `last`,`first`,`mate`,`address` FROM `homeownersnew` WHERE `last` LIKE "s%" AND `address` != "" LIMIT ' . (($pagination->get_page() - 1) * $records_per_page) . ', ' . $re
SELECT SQL_CALC_FOUND_ROWS `last`,`first`,`mate`,`address`
FROM `homeownersnew`
WHERE `last` LIKE "s%" AND
`address` != ""
LIMIT ' . (($pagination->get_page() - 1) * $records_per_page) . ', ' . $records_per_page . '';
此查询使用变量尝试完成相同的结果,但返回0行:
@$last = "s%";
SELECT SQL_CALC_FOUND_ROWS `last`,`first`,`mate`,`address`
FROM `homeownersnew`
WHERE `last` LIKE "$last" AND
`address` != ""
LIMIT ' . (($pagination->get_page() - 1) * $records_per_page) . ', ' . $records_per_page . '';
我肯定我忽略了一些东西,但却找不到问题所在
双引号字符串[在单引号字符串中找不到]最重要的特性是变量名将被展开。有关详细信息,请参见字符串解析
考虑这个显示问题的简单示例,主要是查询字面上像$last一样使用:
在这种情况下,正确的解决方案是。它解决了字符串插值问题,清理了代码,并防止SQL注入或意外数据破坏查询。@Darren编辑问题时更改问题内容时要小心,因为它可能会赋予问题本身或潜在答案不同的含义。请确保包含使用的实际和语法有效的代码。@Prix抱歉,感谢您选择该代码!这里的早晨太早了:
$hello = "world";
echo "Hello $hello!"; // => Hello world!
echo 'Hello $hello!'; // => Hello $hello!