如何改进这种用PHP在mySQL中插入信息的粗俗方法?
我想知道更好的方法来改进或优化这种粗俗的方法,只有在变量不是空的情况下,才可以使用PHP向mySQL数据库添加内容。 谢谢如何改进这种用PHP在mySQL中插入信息的粗俗方法?,php,mysql,Php,Mysql,我想知道更好的方法来改进或优化这种粗俗的方法,只有在变量不是空的情况下,才可以使用PHP向mySQL数据库添加内容。 谢谢 有关使用MySQLi将数据插入MySQL的更多详细信息,请参阅 //since the values in columns value5 and value6 can be NULL $value5 = NULL $value6 = NULL //or if you want to set it to "" $value5 = "" $value6 = "" // C
有关使用MySQLi将数据插入MySQL的更多详细信息,请参阅
//since the values in columns value5 and value6 can be NULL
$value5 = NULL
$value6 = NULL
//or if you want to set it to ""
$value5 = ""
$value6 = ""
// Create connection
$mysqli = new mysqli($servername, $username, $password, $dbname);
/* Prepare an insert statement */
$insert_query = "INSERT INTO love_table (value_1, value_2, value_3, value_4, value_5, value_6) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $mysqli->prepare($insert_query);
/* Bind the parameters */
$stmt->bind_param("ssssss", $value1, $value2, $value3, $value4, $value5, $value6);
/* Execute the statement */
$stmt->execute();
/* close statement */
$stmt->close();
/* close connection */
$mysqli->close();
以及为什么我们应该使用绑定参数而不是直接使用查询()中的值。有关使用MySQLi将数据插入MySQL的更多详细信息,请参阅
//since the values in columns value5 and value6 can be NULL
$value5 = NULL
$value6 = NULL
//or if you want to set it to ""
$value5 = ""
$value6 = ""
// Create connection
$mysqli = new mysqli($servername, $username, $password, $dbname);
/* Prepare an insert statement */
$insert_query = "INSERT INTO love_table (value_1, value_2, value_3, value_4, value_5, value_6) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $mysqli->prepare($insert_query);
/* Bind the parameters */
$stmt->bind_param("ssssss", $value1, $value2, $value3, $value4, $value5, $value6);
/* Execute the statement */
$stmt->execute();
/* close statement */
$stmt->close();
/* close connection */
$mysqli->close();
为什么我们应该使用绑定参数而不是直接使用查询中的值()计划A:在列表中保留空值,并让列“default”为您想要的值
方案B:动态更改空值…(isset($val5)?$val5:'N/A'),…
计划C:与B类似,但在SQL中,使用COALESCE(?'N/A')
计划A:将空值保留在列表中,并将列“default”设置为所需的值
方案B:动态更改空值…(isset($val5)?$val5:'N/A'),…
方案C:与B类似,但在SQL中,使用COALESCE(?'N/A')
更好地使用它。它还将阻止SQL注入。是的,这里有SQL注入。最好使用它。它还将阻止SQL注入。是的,这里有SQL注入。请记住,这可能仍然容易受到SQL注入的攻击,因为您没有指定连接字符集。我从中了解了很多。。。但我仍然有一个无法解决的问题,我想传递一个7值,即uuid(),以生成uuid,但我得到了错误,因为我认为这不是字符串,所以我不能简单地在末尾添加一个s和值。。。谁能帮我一下吗?是的,你能。如果你能详细说明错误的原因,回答这个问题会很有帮助。请记住,这可能仍然容易受到SQL注入的攻击,因为你没有指定连接字符集。我从中学到了很多。。。但我仍然有一个无法解决的问题,我想传递一个7值,即uuid(),以生成uuid,但我得到了错误,因为我认为这不是字符串,所以我不能简单地在末尾添加一个s和值。。。谁能帮我一下吗?是的,你能。如果你能详细说明这个错误的问题,回答这个问题会很有帮助。