首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_fetch_array返回false

问mysql_fetch_array返回false
EN

Stack Overflow用户
提问于 2013-02-09 07:52:40
回答 2查看 798关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());

$method = $_POST["method"]; //dropdown box
$category = $_POST["category"]; //dropdown box
$email = mysql_real_escape_string($_POST["email"]);
$companyname = mysql_real_escape_string($_POST["companyname"]);
$phone = mysql_real_escape_string($_POST["phone"]);
$address = mysql_real_escape_string($_POST["address"]);
$state = mysql_real_escape_string($_POST["state"]);
$zip = mysql_real_escape_string($_POST["zip"]);

$salt = $email;
$length = 10;
$temporarypassword =  
substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"),  
0, $length);
$temp_encrypted_password = sha1($salt.$temporarypassword);

$addcompany = mysql_query("INSERT INTO company (`method`, `category`,  
`email`, `password`, `companyname`, `phone`, `address`, `state`, `zip`, `ratingcount`, 
`ratingscore`, `usage`, `date`)
VALUES 
('$method','$category','$email','$temp_encrypted_password',
'$companyname','$phone','$address','$state','$zip','0','0','0',CURDATE()) ")
or die(mysql_error());

if (mysql_fetch_array($addcompany)) {

$to = "$email";
$subject = "Your Temporary Password";
$message = "Your temporary password is: <b>$temporarypassword;</b>. Sign in and   
update your password as soon as possible.";
$header = "From: email@gmail.com\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html\r\n";
mail($to,$subject,$message,$header);

$message = "Company Added";

}

}
}

因此,sql语句执行得很好,并且按照我的要求输入到我的数据库中。但是,IF $addcompany返回true的if语句必须返回false,因为该语句中没有任何内容会执行。我在我的站点的其他部分以这种方式对mysql_fetch_array使用了这个检查,它工作得很好,所以我很好奇为什么在这种情况下它没有返回。

仅供参考,我正在调查PDO,寻找那些愿意说出来的人。哈哈,我在今天的上一篇文章中已经看到了它的扩音器。

谢谢你抽出时间,我很感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-09 07:56:29

php-doku声明,对于所有的INSERT语句,mysql_query返回一个布尔值,表明该语句是否成功执行。所以你不需要

代码语言:javascript
复制
if (mysql_fetch_array($addcompany)) {

但简单地说

代码语言:javascript
复制
if ($addcompany) {
票数 0
EN

Stack Overflow用户

发布于 2013-02-09 07:58:03

mysql_fetch_array并不是用在插入的if条件中,而是用在select语句的while循环中,该循环将遍历查询的每个结果。如果没有结果,那么脚本就不会进入循环。

查看php.net底部的示例:http://php.net/manual/en/function.mysql-fetch-array.php

这里只需要if ($addcompany) {,不需要fetch_array

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14783259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档