php - 需要正确的 PHP/MySQL 语法帮助

标签 php mysql database syntax mysqli

我整天都在寻找代码中的错误。这是它的长短:

我有一个通过查询字符串传递的变量,我想在我的 MySQLi 查询中使用该变量。 A-像这样:

$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') 就可以正常工作,这让我感到非常困惑。

为了它的值(value),我运行了一个专用服务器并且最近安装了 suPHP,如果它有任何远程机会在这里帮助有意义(PHP 5.2.17 是我当前的版本)。

再说一次,我不是 PHP 高手,但在检查了我用 MySQLi 查询完成的旧站点的代码后,在将变量附加到查询中时,% 总是存在。

我完全死在了这里的水中。如果您能提供任何帮助,我们将不胜感激,以至于无法解释。

最佳答案

如果你想把变量放在一个难以解释变量名结束位置的字符串中,请像这样使用 {$var}:

$eInfo = "SELECT * FROM tablename WHERE fieldname LIKE '{$variable}%'"; 

关于php - 需要正确的 PHP/MySQL 语法帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908086/

相关文章:

PHP 在 for 循环中删除文件

php - 拥有一个应该在 Laravel 中存储单个记录或行的数据库表

php - 将字母字符交换为特殊字符的最佳方法是什么? (a = !, b = ", c = £, ...)

php - 使用 jquery .ajax 或 .get 通过 php 脚本从数据库接收内容

mysql - 使用通配符进行搜索的存储过程

c# - Npgsql:INSERT 命令不插入

PHP 在远程服务器上读取/写入文件

mysql - Codeigniter 左外连接

sql - 使用 pg_restore 创建或覆盖表

sql - 如何计算不同表中ID的出现次数