如何使用PHP中存储在数据库SQL查询中的变量

如何使用PHP中存储在数据库SQL查询中的变量,php,Php,我将我的SQL查询存储在数据库中,在这个查询中我使用了PHP变量;然后,当我从MySQL获取数据时,查询中使用的变量不起作用,查询失败!我该怎么办 经验: 我将此查询存储在数据库中: 从mytable中选择*,其中id='$id'或name='$name' 然后在获取此查询时,变量在如下代码中不起作用: mysqli_查询$conn,$sql 或 mysqli_查询$conn,$sql使用。php中的运算符和更多详细信息 尝试以下代码来获取数据 $sql= mysqli_query($coni,

我将我的SQL查询存储在数据库中,在这个查询中我使用了PHP变量;然后,当我从MySQL获取数据时,查询中使用的变量不起作用,查询失败!我该怎么办

经验: 我将此查询存储在数据库中:

从mytable中选择*,其中id='$id'或name='$name'

然后在获取此查询时,变量在如下代码中不起作用:

mysqli_查询$conn,$sql

mysqli_查询$conn,$sql

使用。php中的运算符和更多详细信息

尝试以下代码来获取数据

$sql= mysqli_query($coni, "SELECT * FROM mytable WHERE id='$id' OR name='$name'");
$info = mysqli_fetch_array($sql)
执行mysqli\u查询后,必须使用mysqli\u fetch\u数组。以下代码将打印与查询匹配的所有行

$result = mysqli_query($conn, $sql);
while($row=mysqli_fetch_array($result)){
    print_r($row);
}
如果这不起作用。确保您有到数据库的正确链接

$conn= mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
有关mysqli_connect的更多信息,请参阅

但是使用PDOPHP数据库对象更安全,因为它为准备好的语句提供了更好的安全层


有一个问题。请查看它以了解更多详细信息。有关更多详细信息,请参阅。

在数据库中存储语句的问题之一是,它假定在执行语句时,作用域中存在名为$id和$name的变量。如果使用预处理语句和占位符,则可以在运行语句时绑定所需的值

所以你的陈述是

"SELECT * FROM mytable WHERE id=? OR name=?"
然后使用

$stmt = mysqli_prepare($conn,$sql);
mysqli_stmt_bind_param($stmt, "ss", $id1, $searchNname);
mysqli_stmt_execute($stmt);
// Process data as you need to

仍然不相信在数据库中保存这些语句是一个好主意,但这取决于您。

不清楚您在代码中实际做了什么。我将这个查询存储在数据库中,这到底是什么意思?它真的是您存储的查询吗?请发布一个工作代码示例来演示这个问题,而不仅仅是一行。将该信息添加到问题本身,不要将其发布到问题的评论中。谢谢,不工作是什么意思?你有白纸吗?你得到了错误的结果?您会遇到什么错误?get die message and query不起作用检查数据库连接是否使用正确的用户名和密码die message是否包含已发生的实际错误,您能告诉我们它是什么吗?我这样做了,但当我获取数据时,编译器不理解变量并像字符串一样回显“$id.”,并且没有初始化它。
"SELECT * FROM mytable WHERE id=? OR name=?"
$stmt = mysqli_prepare($conn,$sql);
mysqli_stmt_bind_param($stmt, "ss", $id1, $searchNname);
mysqli_stmt_execute($stmt);
// Process data as you need to