我整天都在追逐我的代码中的一个错误。这是它的长短:
我有一个通过查询字符串传递的变量,我想在我的 MySQLi 查询中使用该变量。像这样:
$variable;
$info = dbConnect('query');
$eInfo = "SELECT *
FROM tablename
WHERE fieldname = '$variable%'";
$eiData = $info->query($eInfo) or die(mysqli_error());
$eInfo = $eiData->fetch_assoc();
重点是变量名后面的 %。我不是 PHP 专家,但我记得不久前就学会了这个技巧,它对我所有的数据库驱动网站都有效,除了我正在开发的新网站。
上面的查询没有从表中返回任何数据。
但...
如果我省略 % 如下:
$variable;
$info = dbConnect('query');
$eInfo = "SELECT *
FROM tablename
WHERE fieldname = '$variable'";
$eiData = $info->query($eInfo) or die(mysqli_error());
$eInfo = $eiData->fetch_assoc();
查询执行,我得到我的数据。
为什么在使用语法'$variable%'编写要使用变量的查询后,这将不再起作用?只需删除 % ('$variable') 就可以正常工作,这让我完全困惑。
对于它的价值,我运行了一个专用服务器并且最近安装了 suPHP,如果这有任何帮助在这里有意义的远程机会(PHP 5.2.17 是我当前的版本)。
同样,我不是 PHP 高手,但是在检查了旧站点的代码后,我使用 MySQLi 查询完成了,当将变量附加到查询中时,% 总是在那里。
我完全死在了这里的水里。您可以提供的任何帮助都会非常感激,以至于无法解释。