[英]Posting data from Database
我正在验证表单(检查字段是否为空等,最后我使用的是最后一条验证规则:
//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,我也会收到错误信息而不是数据...
谢谢
编辑...(我删除了,因为它是错误的),你做得很好...我只是意识到我所做的...对不起...
我已经在上面更正了它。
谢谢
不要立即将查询字符串放入mysql方法中,请先将其回显
$ sql =“选择*来自客户端的ID ='$ cust_code'的客户端”;
echo $ sql;
$ res = mysql_query($ sql);
您是否已连接到数据库?
错误消息以英语书写 (如果不是MS错误消息)。 你为什么不理会他们? 放入错误消息,阅读,尝试理解错误内容。
一个建议,如果您将以这种方式编写代码,那么对于非常小的应用程序来说是可以的,对于大型的应用程序,您需要完全采用另一种方法来进行代码组织。 这是框架要解决的问题/主要问题之一。
实际上,您错了,在以下两行中您的错误就在这里:
$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);
您可能有更多潜在的错误,但请先解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.