在PHP中,我在尝试使用INSERT命令时收到错误

时间:2016-10-17 11:23:04

标签: php mysql joomla

这是我的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----', '')

2 个答案:

答案 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)

正常工作试试这个

查看实时演示 Here

见图片 enter image description here