如何在php中的字符串中定义数组索引?

时间:2014-03-04 05:14:21

标签: php sql arrays

我想对sql数据库进行查询,但我不知道如何定义数组索引,因为它在字符串中。

例如:

$query ="INSERT INTO Users(firstName, lastName, emailAddress, password)    VALUE($_POST[firstname], $_POST[lastname], $_POST[email], $_POST[password])";

mysqli_query($link, $query);

我尝试在索引周围放置单引号,就像我正常做的那样,但是我的文本编辑器(vim)正在围绕它放置一个红色块。所以我猜我做错了。如果我在索引周围加上双引号,左边的方括号变为红色。如果我没有在上面的示例中放置任何引号,我会得到未定义的索引。

3 个答案:

答案 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."')";

我希望它可以帮到你