php/mysql帮助不需要输出错误
可以帮助我的代码,一切看起来都正确检查每行至少10次。我甚至在user/pass中为查询编写了硬代码,但仍然没有php/mysql帮助不需要输出错误,php,mysql,Php,Mysql,可以帮助我的代码,一切看起来都正确检查每行至少10次。我甚至在user/pass中为查询编写了硬代码,但仍然没有 <?php include "database.php"; $sql = "SELECT UserName, Password, Language, Editor FROM admin_login WHERE UserName='".$_POST['username']."' AND Password='".$_POST['pwd']."'"; $result = @mys
<?php
include "database.php";
$sql = "SELECT UserName, Password, Language, Editor FROM admin_login WHERE UserName='".$_POST['username']."' AND Password='".$_POST['pwd']."'";
$result = @mysql_query($sql);
$line = @mysql_fetch_assoc($result);
if (mysql_num_rows($result) == 0) {
#unsuccessful login
header('Location: index.php' );
} else {
#login successful, setting up session
ob_clean();
session_start();
$_SESSION['user'] = $line['UserName'];
$_SESSION['pass'] = $line['Password'];
$_SESSION['lang'] = $line['Language'];
$_SESSION['editor'] = $line['Editor'];
#send to editor page
if ($_SESSION['lang'] == 'List') {
header('Location: list.php');
exit;
#send to announcer page
} else if ($_SESSION['lang'] == 'Order') {
header('Location: order.php');
exit;
}
}
?>
从函数mysql\u query和函数mysql\u fetch\u assoc中删除@,则会显示错误。从函数mysql\u query和函数mysql\u fetch\u assoc中删除@,则会显示错误。以下步骤:
添加MySQL错误报告,例如(在SQL语句末尾):
或死亡(“查询失败:.mysql_error()。”实际查询:“.$Query”)
删除@符号--这些符号将抑制错误
使用您最喜欢的SQL工具(phpMyAdmin、Navicat、命令行等)在命令行上运行查询,查看是否会导致错误
要遵循的一些步骤:
添加MySQL错误报告,例如(在SQL语句末尾):
或死亡(“查询失败:.mysql_error()。”实际查询:“.$Query”)
删除@符号--这些符号将抑制错误
使用您最喜欢的SQL工具(phpMyAdmin、Navicat、命令行等)在命令行上运行查询,查看是否会导致错误
以下是我的版本:
<?php
include 'database.php';
$sql = "SELECT `UserName`, `Password`, `Language`, `Editor` FROM `admin_login` WHERE `UserName` = '" . mysql_real_escape_string($_POST['username']) . "' AND `Password` = '" . mysql_real_escape_string($_POST['pwd']) . "' LIMIT 1;";
$result = mysql_query($sql);
if ($result === false)
{
// Unsuccessful Login
header('Location: index.php');
}
$user = mysql_fetch_assoc($result);
$_SESSION['user'] = $user;
if ($user['Language'] == 'List')
{
header('Location: list.php');
exit;
}
elseif ($user['Language'] == 'Order')
{
header('Location: order.php');
exit;
}
?>
以下是我的版本:
<?php
include 'database.php';
$sql = "SELECT `UserName`, `Password`, `Language`, `Editor` FROM `admin_login` WHERE `UserName` = '" . mysql_real_escape_string($_POST['username']) . "' AND `Password` = '" . mysql_real_escape_string($_POST['pwd']) . "' LIMIT 1;";
$result = mysql_query($sql);
if ($result === false)
{
// Unsuccessful Login
header('Location: index.php');
}
$user = mysql_fetch_assoc($result);
$_SESSION['user'] = $user;
if ($user['Language'] == 'List')
{
header('Location: list.php');
exit;
}
elseif ($user['Language'] == 'Order')
{
header('Location: order.php');
exit;
}
?>
如上所述,从函数中删除所有@
前缀。这将抑制所有错误
此外,在脚本开头添加以下两行:
error_reporting(E_ALL);
ini_set('display_errors','1');
如上所述,从函数中删除所有@
前缀。这将抑制所有错误
此外,在脚本开头添加以下两行:
error_reporting(E_ALL);
ini_set('display_errors','1');
您的PHP错误报告可能设置为off。请打开或以其他方式设置ini_集('display_errors','1')出现此问题的php页面顶部的code>。您的php错误报告可能被设置为关闭。请打开或以其他方式设置ini_集('display_errors','1')出现此问题的php页面顶部的code>。首先,删除mysql命令前面的@
符号。该@operator导致的问题比它解决的问题还多。结果表明,我从错误的字段中提取了重定向的$\u SESSION['editor']。感谢首先,删除mysql命令前面的@
符号。该@operator导致的问题比它解决的问题还多。结果表明,我从错误的字段中提取了重定向的$\u SESSION['editor']。感谢在phpmyadmin 1结果中正确处理的SQL发现、删除@和无错误在phpmyadmin 1结果中正确处理的SQL发现、删除@和无错误。此外,在错误报告(E_ALL)中未显示任何错误;补充说,使用错误报告(E_ALL)时不会显示任何错误;我现在明白我的错误了$假设用户['Language']是编辑器字段,这就是我最初的代码一直显示为空白的内容。所有的编码都是正确的,只是找错了地方。谢谢你的编码帮助我注意到我的错误。我现在看到我的错误了$假设用户['Language']是编辑器字段,这就是我最初的代码一直显示为空白的内容。所有的编码都是正确的,只是找错了地方。谢谢你的编码帮助我注意到我的错误。