我在尝试让我的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>
答案 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']}')";