如何在 SELECT 语句的 WHERE 子句中传递 php 变量?

vee*_*enu 2 php mysql sql

我有一个 php 变量,我想在where子句中使用该变量来获取数据库中的另一个字段。

我的代码:

require("conn.php");
$module = $_POST[ 'postmodule' ];
$query = "SELECT width FROM modules WHERE code = $module";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
echo $row['width'];
Run Code Online (Sandbox Code Playgroud)

但这没有给我打印任何东西。不知道我哪里出错了,但任何帮助将不胜感激。

zke*_*pel 5

您可以断开字符串并将变量与".."

require("conn.php");
$module = $_POST[ 'postmodule' ];
$query = "SELECT width FROM modules WHERE code = '".$module."'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
echo $row['width'];
Run Code Online (Sandbox Code Playgroud)

或者,您可以将变量包含在{}字符串中,只要字符串用双引号括起来即可。

require("conn.php");
$module = $_POST[ 'postmodule' ];
$query = "SELECT width FROM modules WHERE code = '{$module}'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
echo $row['width'];
Run Code Online (Sandbox Code Playgroud)

另外,如果$module是一个字符串,您需要将变量用单引号括起来,就像我上面所做的那样。