问题描述
我刚刚过完一个形式,我的本地主机的工作,这是工作完美,但是当我上传了code到虚拟主机它不工作,因为它应该。它是一种使用PHP,MySQL和JQuery的一个简单的形式。当我点击提交就说明我的自定义错误窗口说,电子邮件是已经注册但问题是,数据库是空的。我把一些code,检查电子邮件中的AJAX部分内,这就是它说(它应该只显示一个数字):
I just had finished a form working in my localhost, it was working perfectly, but by the time I uploaded the code to the web host it wasn't working as it was supposed to. It is a simple form that uses PHP, MySQL and JQuery. When I click on submit it shows my custom error window saying that the email was registered already but the thing is that the database is empty. I put some code inside the ajax part that checks the email and this is what it says (it's supposed to show only a number):
警告:mysql_fetch_assoc():提供的参数不是一个有效的MySQL结果资源 /*/*/public_html/check_user.php 在线 17
Warnings : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resources in /*/*/public_html/check_user.php on line 17
下面是check_user.php:
Here's check_user.php:
<?php
require_once("SqlChromoConnection.php");
// Check if email is not empty in the form
if(isset($_POST['email'])) {
// create the query
$sql = "SELECT COUNT(*) AS count
FROM Users
WHERE email = '" . trim($_POST['email']) . "'";
// create object to handle the connection
$conn = new SqlChromoConnection();
$conn->getDatabaseConnection(); // establish a connection
$data = $conn->executeQuery($sql); // execute query
$count= mysql_fetch_assoc($data); // save result in $count
$exists = $count['count']; // access only the field 'count'
$conn->closeConnection(); // close the connection
echo $exists;
exit(0);
}
?>
而这里的AJAX部件,检查电子邮件:
And here's the ajax part that checks the email:
if( !re.test(email) || email.indexOf(' ') > 0) {
message = "Email NOT valid!!!";
messageDialog("Warning", message, "warning", 2);
return false;
} else {
// use ajax to check if a user has been previously registered
// using this email
var valid = false;
$.ajax(
{
url:"check_user.php", // url that will use
async: false,
data:{ // data that will be sent
email:email
},
type:"POST", // type of submision
dataType:"text", // what type of data we'll get back
success:function(data)
{
window.alert(data);
// if check_user returns 0
// means that there's no any user registered with that email
if(data == 0 ) {
valid = true;
}
}
});
if(!valid) {
message = "This email is registered already!";
messageDialog("Error", message, "error", 2);
return false;
}else return true;
}
正如我所说,code运行良好,在本地主机的时候。
As I said, the code runs well when in localhost.
任何建议将非常AP preciated。
Any suggestions will be really appreciated.
问候。
推荐答案
在添加 @ 您的 mysql_fetch_assoc 它会删除所有的警告来自这一说法。使用例如 @mysql_fetch_assoc()。
Add @ before your mysql_fetch_assoc it removes all warning comes from this statement.Use like @mysql_fetch_assoc().
这篇关于在虚拟主机,但code未知错误以及运行在本地主机上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!