这是我的php代码试图将数据从表单插入数据库但我在插入行中收到错误。
if(isset($_POST['bankname']))
{
$bname=$_POST['bankname'];
$amt=$_POST['amount'];
$cond=$_POST['cond'];
$medi=$_POST['mediate'];
$sql = "INSERT INTO dr (bankname, amount, cond, mediate) VALUES('$bname','$amt','$cond', '$medi')";
if ($conn->$sql=== TRUE)
{
echo "New record created successfully";
}
else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
echo "<br/>Form Submitted succesfully";
}
我收到错误如下
错误:
INSERT INTO dr (bankname, amount, cond, mediate) VALUES ('', '', '----choose----', '')
答案 0 :(得分:1)
string mysql_real_escape_string(string unescaped_string,
resource link_identifier= =NULL);
转义unescaped_string中的特殊字符,考虑到连接的当前字符集,以便将其放在mysql_query中是安全的。如果要插入二进制数据,则必须使用此功能。 参数
<强> unescaped_string 强> 要转义的字符串。
<强> link_identifier 强> MySQL连接。如果未指定链接标识符,则假定mysql_connect打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像没有参数调用mysql_connect一样。如果未找到或建立连接,则会生成E_WARNING级别错误。
返回值
返回转义字符串,错误时返回FALSE。
<强>错误/异常强>
在没有MySQL连接的情况下执行此函数也会发出E_WARNING级别的PHP错误。仅在存在有效MySQL连接的情况下执行此功能。
实施例
<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>
参考链接https://dev.mysql.com/doc/apis-php/en/apis-php-function.mysql-real-escape-string.html
答案 1 :(得分:1)