Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中定义字符串内的数组索引?_Php_Sql_Arrays - Fatal编程技术网

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

如何在php中定义字符串内的数组索引?,php,sql,arrays,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); 我试着像往常一样在索引周围加上单引号,但我的文本

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

例如:

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

mysqli_query($link, $query);

我试着像往常一样在索引周围加上单引号,但我的文本编辑器(vim)在索引周围加了一个红方块。所以我猜我做错了什么。如果我在索引周围加上双引号,左边的方括号就会变成红色。如果我没有像上面的例子那样在它们周围加上引号,我会得到未定义的索引。

您可以像这样进行查询

$query ="INSERT INTO Users(firstName, lastName, emailAddress, password)    VALUE('".$_POST['firstname']."', '".$_POST['lastname']."', '".$_POST['email']."', '".$_POST['password']."')";
$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."')";

我希望它能帮助您

您可以像这样转义变量

// 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\u 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']);

简单数组引用周围的引号应该是语法正确的卷曲字符串表达式。但是,如果您已经在使用mysqli,请研究绑定参数。什么是句号?字符串连接。