我正在验证表单(检查字段是否为空等等,最后我使用的是上一个验证规则:
//Database Information
//Connect to database
mysql_connect($dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname)or die(mysql_error());
$email = mysql_real_escape_string($_POST['email']);
$cust_code = mysql_real_escape_string($_POST['cust_code']);
//validation e.g.
if (empty($email) + empty($cust_code) > 1){
....
//if everything is ok
$sql = "SELECT * FROM clients WHERE ID='$cust_code'";
$result = mysql_query($sql);
if(mysql_num_rows($result) > 0){
$data = mysql_num_rows($result);
//get all fields from db and do something
}else{
//My error that is showing up
echo "<span class=\"difftext\">The customer code you have entered is not valid!
<br />
Please enter a valid Customer Code to procceed!
</span>";
这有什么不对,因为即使我输入了正确的cust_code,我也会收到错误消息而不是我的数据......
谢谢
编辑...(我删除了,因为它错了)你还不错......我只是实现了我的意思......抱歉......
我已在上面纠正过。
谢谢
答案 0 :(得分:2)
不要将查询字符串立即放入mysql方法中,首先回显它
$ sql =“SELECT * FROM clients WHERE ID ='$ cust_code'”;
echo $ sql;
$解析度=的mysql_query($ SQL);
您是否连接到数据库?
错误消息以英文编写(如果不是MS错误消息)。你为什么不理睬他们?提出错误信息,阅读,尝试理解它的内容。
建议,如果您将以这种方式编写代码,对于非常小的应用程序是可以的,对于大型应用程序,您需要对代码组织采取不同的方法。这是问题/主要问题框架正试图为您解决的问题之一。
答案 1 :(得分:1)
实际上,你错了,你的错误在这里,在这两行:
$sql = mysql_query("SELECT * FROM clients WHERE ID='$cust_code'");
$result = mysql_query($sql);
您正在运行查询两次
在第一次$sql
保存资源之后,您将资源称为查询字符串。要修复它,请将其更改为:
$sql = "SELECT * FROM clients WHERE ID='$cust_code'";
$result = mysql_query($sql);
您可能有更多潜在错误,但请先修复此错误。