【发布时间】:2016-04-20 22:52:10
【问题描述】:
我是 php 新手,并试图向我的数据库表中插入一些值,但是当我通过 php 变量传递值时,查询不起作用。相同的查询正在处理静态值。
我在 init.php 中建立我的数据库连接,其中的变量是 $dbc。
<?php
require "init.php";
$mobile = "100004";
$email = "vikas4@web";
$password = "4444"
$stmt = mysqli_prepare($dbc, "INSERT INTO user_login (user_mobile, user_email, user_pwd) values(?, ?, ?)";
mysqli_stmt_bind_param($stmt, "sss", $mobile, $email, $password);
echo "after sql_query";
?>
更多细节,当我用下面的静态代码替换我的 $sql_query 时,它正在插入到数据库中。
$sql_query = "INSERT INTO user_login (user_mobile, user_email, user_pwd) values('1000055', 'vikas55@web', '5555')";
【问题讨论】:
-
你有什么错误吗?
-
如果您回显
$sql_query,您将看到查询无效。解决此问题的错误方法是在字符串中的值周围添加引号。正确的方法是使用prepared statements and passing the values are parameters。 -
那么你的问题解决了吗?
-
我没有回显 $sql_query。最后是简单的字符串。
标签: php mysql mysqli prepared-statement