【发布时间】:2010-12-23 03:05:10
【问题描述】:
我需要快速查看一下我的 SQL 查询。已经让我头疼了。比较我得到的一些建议,我无法为我的 SQL 找出正确的格式。
这是我的代码:
$query = "INSERT INTO `[my_db_name]`.`members` (`id` ,`first` ,`last` ,`add1` ,`add2` ,`phone_home` ,`phone_cell` ,`phone_dad` ,`phone_mom` ,`email1` ,`email2`)
VALUES ('NULL' , '".$first."', '".$last."', '".$add1."', '".$add2."', '".$phone_home."', '".$phone_cell."', '".$phone_dad."', '".$phone_mom."', '".$email1."', '".$email2."')";
`mysql_query($query) or die ('Error updating database, Error:' . mysql_error());
提前致谢!
编辑:
目前我有这个形式:
<table border="0" cellpadding="0" cellspacing="0">
<form enctype="multipart/form-data" method="POST" action="add-member.php">
<tr class="labels">
<td class="f">Add a Member</td>
<td class="l"></td>
</tr>
<tr>
<td class="f"><label for="first">First Name:</label></td>
<td class="l"><input id="first" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="last">Last Name:</label></td>
<td class="l"><input id="last" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="add1">Address 1:</label></td>
<td class="l"><input id="add1" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="add2">Address 2:</label></td>
<td class="l"><input id="add2" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="phone_home">Home Phone:</label></td>
<td class="l"><input id="phone_home" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="phone_cell">Cell Phone:</label></td>
<td class="l"><input id="phone_cell" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="phone_dad">Dad Cell:</label></td>
<td class="l"><input id="phone_dad" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="phone_mom">Mom Cell:</label></td>
<td class="l"><input id="phone_mom" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="email1">Email 1:</label></td>
<td class="l"><input id="email1" type="text"/></td>
</tr>
<tr>
<td class="f"><label for="email2">Email 2:</label></td>
<td class="l"><input id="email2" type="text"/></td>
</tr>
</table>
这是插入查询:
<?php
$first = $_POST['first'];
$last = $_POST['last'];
$add1 = $_POST['add1'];
$add2 = $_POST['add2'];
$phone_home = $_POST['phone_home'];
$phone_cell = $_POST['phone_cell'];
$phone_dad = $_POST['phone_dad'];
$phone_mom = $_POST['phone_mom'];
$email1 = $_POST['email1'];
$email2 = $_POST['email2'];
include ("../lib/login.php");
mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
mysql_select_db ([dbname]);
$query = "INSERT INTO `[dbname]`.`mem_dir` (`id` ,`first` ,`last` ,`add1` ,`add2` ,`phone_home` ,`phone_cell` ,`phone_dad` ,`phone_mom` ,`email1` ,`email2`)
VALUES (NULL , '$first', '$last', '$add1', '$add2', '$phone_home', '$phone_cell', '$phone_dad', '$phone_mom', '$email1', '$email2')";
mysql_query($query) or die ('Error updating database, Error:' . mysql_error());
echo "Database successfully uploaded with:<br/><ul>
<li>" . $first . "</li>
...
</ul>";
?>
似乎提交了条目,但没有提交值...我厌倦了看着它而不是看到它。我感谢所有的帮助。谢谢!
编辑(再次):
正如Salman A 所指出的,问题实际上出在表单上,而且每个输入都用“id”而不是“name”标识。
谢谢大家,非常感谢大家的帮助!我猜我不正确的 SQL 格式是另一个话题吧?
【问题讨论】:
-
同意;除非你的表名中有 '[' 和 ']',否则这在 MySQL 中是行不通的。
-
如果您指的是 [my_db_name],我的 SQL 中实际上并没有这个,只是在这里显示。
-
表名和列名不应该有引号(尤其是反引号)。关键字 NULL 也不应该。
-
删除了表和数据库名称周围的引号,但结果仍然相同。不过感谢您的建议。
-
echo $query;给你什么?