0

从最后 30 分钟开始,我的头在后面,但我不知道我在哪里做错了。我真的在(')和(“)之间感到困惑。

$arr 值包含我通过打印检查过的值echo $arr['given_name']。所以毫无疑问在 $arr 的数据中。

 $query="insert into user (fname,lname,email,gender) values('".$arr['given_name']."','".$arr['family_name']."','".$arr['email']."','".$arr['gender']."'";
 mysqli_query($con,$query);

我知道这是基本问题,但我仍然无法识别错误你能告诉我我在哪里做错了吗?

4

4 回答 4

2

我可以想象你会被括号弄糊涂," 和 '-'s 和错误的结束)。

为什么不使用准备好的语句?这样可以解决您的困惑并使代码更具可读性!你得到了基本的参数类型检查。

$stmt = $mysqli->prepare("INSERT INTO user 
                          (fname,lname,email,gender) 
                          VALUES (?, ?, ?, ?)");
$stmt->bind_param('ssss', $arr['given_name'], 
                          $arr['family_name'], 
                          $arr['email'], 
                          $arr['gender']);
$stmt->execute();

还要确保您在完整的查询中进行了一些清理和检查。

于 2013-10-16T10:32:51.687 回答
1

它应该是:

$query="insert into user (fname,lname,email,gender) values('".$arr['given_name']."','".$arr['family_name']."','".$arr['email']."','".$arr['gender']."')";

你缺少一个结束括号。

于 2013-10-16T10:26:46.833 回答
1

您忘记了值末尾的右括号:

$query="insert into user (fname,lname,email,gender) values('".$arr['given_name']."','".$arr['family_name']."','".$arr['email']."','".$arr['gender']."')";
mysqli_query($con,$query);
于 2013-10-16T10:27:04.540 回答
0

您是否缺少插入值的关闭 ) ?

于 2013-10-16T10:27:35.433 回答