0

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

显然它与 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> 
4

1 回答 1

3

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

所以这将是适当的语句(假设 cust_last 和 cust_first 是您的客户表中的列名):

$sql="INSERT INTO customer (cust_last, cust_first) VALUES ('{$_POST['cust_last']}','{$_POST['cust_first']}')";
于 2013-08-28T23:16:04.017 回答