我有另一个脚本,我无法弄清楚它有什么问题.我试图使用
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)
报告错误,但它没有报告任何内容.无论如何,这是我遇到麻烦的代码.
<?php
error_reporting(E_ALL);
$username = $_POST['user'];
$email = $_POST['email'];
$password = md5($_POST['pass']);
$currname = $_COOKIE['ZBrownTechnologyCorporationBeta'];
$con = mysql_connect("HOST", "USER", "PASS");
if (!$con) {
die('Unable to connect: '.mysql_error());
}
mysql_select_database("zach_blogin", $con);
if(empty($password)) {
$nothing = "nothing";
} else {
mysql_query("UPDATE members SET password = '$password' WHERE username = '$currname'");
}
mysql_query("UPDATE members SET Email = '$email' WHERE username = '$currname'");
if($username==$currname) {
$nothing = "nothing";
} else {
$query = ("SELECT username from members WHERE username = '$username'");
$result = mysql_query($query);
if (!$result) {
header("Location: " . $_SERVER['HTTP_HOST'] . "/public_html/Beta/account.php?invalid");
exit;
}
}
mysql_query("UPDATE members SET username = '$username' WHERE username = '$currname'");
header("Location: ". $_SERVER['HTTP_HOST'] . "/public_html/Beta/main_login.php?update");
?>
Run Code Online (Sandbox Code Playgroud)
我已经查看了这段代码了一段时间了.似乎无法让错误报告工作,所以我在这里.感谢所有帮助过的人,以及谁将提供帮助!
根据@Klinky的要求:
尝试在Opera中使用此页面(名为myinfo.php)时,它会显示默认消息,指示它无法找到页面和/或服务器.在Internet Explorer 8中,它显示500内部服务器错误.
以下是服务器规格: 操作系统: Linux HTTP: Apache v2.0.63 PHP: 5.3.3 MySQL: 5.0.91-community
我查看了日志,这是错误消息:
[Sat Sep 25 21:34:08 2010] [error] [client 68.52.52.190] PHP Fatal error: Call to undefined function mysql_select_database() in /home/zach/public_html/Beta/myinfo.php on line 12, referer: http://zbrowntechnology.com/Beta/account.php
Run Code Online (Sandbox Code Playgroud)
唯一的是,我试图选择的数据库确实存在!
您的所有UPDATE查询都缺少表名:
UPDATE TABLE_NAME SET .....
^^^^^
missing
Run Code Online (Sandbox Code Playgroud)
我建议,每次打电话mysql_query()检查其返回值.如果是false,查询执行失败,您可以通过调用获得失败的原因mysql_error()
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)
更多错误:
您需要在查询中用单引号括起字符串:
mysql_query("UPDATE members SET password = '$password'....
^ ^
missing
Run Code Online (Sandbox Code Playgroud)
在查询中使用字符串的任何地方都可以.