我一直在试图将一些数据输入到我的SQLI数据库使用PHP ..如何以正确的格式获取此查询?
在插入查询,寻找,当我做到这一点通过GUI上的phpMyAdmin的变量需要被包裹在单引号..
这是我如何建立查询至今:
$fields = array('`appName`' => $_POST[appName],
'`appDescription`' => $_POST[appDescription],
'`UploadDate`' => date("Y-m-d"),
'`appWebsite`' => $_POST[appWebsite]);
printarray($fields);
print "<br>";
print "<br>";
$columns = implode(", ",array_keys($fields));
$escaped_values = array_map('mysql_real_escape_string', array_values($fields));
$values = implode(", ", $escaped_values);
$sql = "INSERT INTO `applist`.`apps` ($columns) VALUES ($values)";
print $sql;
print "<br>";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error";
}
这是给我的,像这样的查询..
INSERT INTO `applist`.`apps` (`appName`, `appDescription`, `UploadDate`, `appWebsite`)
VALUES (SDD, DDD, 2017-06-02, DDDD)
怎么办我得到的数组的值包裹在单引号?
任何帮助表示赞赏。
不要建立与字符串连接的查询。使用[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)或[** PDO **](https://secure.php.net/manual/ en/pdo.prepared-statements.php)准备带有绑定参数的语句,如[**这篇文章**]所述(https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection -in-PHP)。 –
在这里混合API,这是行不通的。您的查询不是那么大或很复杂,您需要动态构建它。你当然可以,但至少可以用准备好的语句来构建它。 – Qirel