我想对sql数据库进行查询,但我不知道如何定义数组索引,因为它在字符串中。
例如:
$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUE($_POST[firstname], $_POST[lastname], $_POST[email], $_POST[password])";
mysqli_query($link, $query);
我尝试在索引周围放置单引号,就像我正常做的那样,但是我的文本编辑器(vim)正在围绕它放置一个红色块。所以我猜我做错了。如果我在索引周围加上双引号,左边的方括号变为红色。如果我没有在上面的示例中放置任何引号,我会得到未定义的索引。
答案 0 :(得分:1)
你可以像这样转义你的变量
// http://php.net/manual/en/language.types.string.php
$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUES ('".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['email']."', '".$_POST['password']."')";
mysqli_query($link, $query);
或者您可以使用mysqli_prepare
// http://php.net/manual/en/mysqli-stmt.bind-param.php
$query = "INSERT INTO Users (firstName, lastName, emailAddress, password) VALUES (?, ?, ?, ?)";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_bind_param($stmt, 'ssss'; $_POST['firstname'], $_POST['lastname'], $_POST['email'], $_POST['password']);
答案 1 :(得分:0)
$query ="INSERT INTO Users(firstName, lastName, emailAddress, password) VALUE('".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['email']."', '".$_POST['password']."')";
答案 2 :(得分:0)
您可以进行类似
的查询$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$email = $_POST['email'];
$pass = $_POST['password'];
$query="insert into person_info(firstName, lastName, emailAddress, password) values('".$fname."','".$lname."','".$email."','".$pass."')";
我希望它可以帮到你