MySql插入查询问题

时间:2011-02-13 18:56:35

标签: php mysql

插入查询有什么问题。

$result = $conn->query("insert into user (fullname,username,email,passwd) values 
        ('".$data['fullname']."','".$data['username']."','".$data['email']."','".$data['fullname']."') " );
 if(!$result) {
    throw new Exception('Could not register you in database - please try again later.');
}

感谢

3 个答案:

答案 0 :(得分:4)

主要是详细信息:您似乎将fullname传递给passwd列 - 不确定它是否是故意的。

否则代码似乎没问题。 Var_dump请将整个字符串(填入变量值)传入查询方法并在此处发布。

并通过mysql_error / mysqli::error检查mysql返回的消息。

另外,最佳做法是以大写形式键入SQL关键字。

答案 1 :(得分:0)

通过{ "status": "done", "order_data": [{ "price": "1000", "qty": "1", "total_price": "1000", "voucher_id": "NIL", "purchase_id": "1005", "purchase_on": "NIL", "validity": "30 days from the date of purchase", "left_day": "NIL", "order_status": 0 }, { "price": "3000", "qty": "1", "total_price": "3000", "voucher_id": "NIL", "purchase_id": "10070", "purchase_on": "NIL", "validity": "30 days from the date of purchase", "left_day": "NIL", "order_status": 1 }, { "price": "3000", "qty": "1", "total_price": "3000", "voucher_id": "NIL", "purchase_id": "1076767", "purchase_on": "NIL", "validity": "30 days from the date of purchase", "left_day": "NIL", "order_status": 1 }] } 检查MySQL返回的消息,或将其添加到MySQL查询的末尾,以查看浏览器上的错误。

mysql_error/mysqli::error

其次看起来你输入错误的字段或列

答案 2 :(得分:-1)

您的查询看起来很好,因此几乎可以确定导致错误的$ data的内容。除非您提供,否则我们无法帮助您解决具体错误。

我想到的一件事是,其中一个值包含撇号。在这种情况下,您需要清理您的数据,实际上您应该这样做,因为否则您非常容易受到黑客入侵网站的攻击。<​​/ p>

在查询中尝试使用addslashes($data['username'])而非$data['username']

addslashes()在撇号等字符之前添加斜杠。