PHP SQL插入不正常

时间:2013-08-28 23:05:04

标签: php sql insert

我在尝试让我的php sql INSERT工作时遇到了一些严重的困难。我正在尝试显示用户数据,但它只是回应,“INSERT INTO客户(cust_last,cust_first)VALUES('用户','数据')完成。”

显然它是sql语句的东西,但它直接从W3Schools的PHP INSERT示例中复制,所以我不确定它为什么不起作用。我不应该使用“”或其他东西吗?

感谢您的帮助!

<?php
$db = odbc_connect('database1', '', '');
$sql="INSERT INTO customer (cust_last, cust_first) 
VALUES ('$_POST[cust_last]','$_POST[cust_first]')";
$rs=odbc_num_rows($conn);
odbc_close($conn);
echo "1 record added.";

?>

HTML表单页面是:

<html>
<body>

<form action="insert.php" method="post">
Last Name: <input type="text" name="cust_last">
First Name: <input type="text" name="cust_first">
<input type="submit">
</form>

</body>
</html> 

1 个答案:

答案 0 :(得分:3)

PHP关联数组需要键周围的单引号,因此$ _POST ['cust_last']是有效键,而$ _POST [cust_last]则不是。此外,当将PHP变量插入引号之间的字符串时,您应该在它们周围放置花括号。

所以这是适当的声明(假设cust_last和cust_first是customer表中列的名称):

$sql="INSERT INTO customer (cust_last, cust_first) VALUES ('{$_POST['cust_last']}','{$_POST['cust_first']}')";