mysql php问题:尽管有错误报告(E_ALL)行,但没有错误消息
index.phpmysql php问题:尽管有错误报告(E_ALL)行,但没有错误消息,php,mysql,Php,Mysql,index.php <html> <head> <title>Josh's Online Playground</title> </head> <body> <form method="POST" action="action.php"> <table> <tr> <td>"data for stuff"&l
<html>
<head>
<title>Josh's Online Playground</title>
</head>
<body>
<form method="POST" action="action.php">
<table>
<tr>
<td>"data for stuff"</td>
<td><input type="text" ?></td>
</tr>
<tr>
<td><input type="submit"></td>
</tr>
</table>
</form>
</body>
</html>
乔希的在线游乐场
“数据换材料”
action.php
<?php
error_reporting(E_ALL);
ini_sit("display_errors", 1);
$mysqli = new mysqli('localhost', 'root', 'password', 'website');
$result = $mysqli->query("insert into stuff (data) values ('
.$_POST['data']
."');
echo $mysqli->error();
if($result = $mysqli->query("select data from stuff")){
echo 'There are '.$result->num_rows.' results.';
}
while ($row = $result->fetch_object()){
echo 'stuff' . $row->data;
}
?>
在代码中的某个地方(在请求的末尾)有倒单引号和双引号。确保display_error php设置为on(打开)在代码中的某个地方(请求结束时)有倒单引号和双引号。确保display_error php设置处于启用状态,否则会出现致命错误,因此脚本无法运行,因此无法报告任何错误。
请看这一行:
$result = $mysqli->query("insert into stuff (data) values ('
.$_POST['data']
."');
应改为:
$result = $mysqli->query("insert into stuff (data) values ('".$_POST['data']."')");
在SQL语句中使用$_POST['data']值之前,请先对其进行转义您有一个致命错误,因此脚本无法运行,因此无法报告任何错误。
请看这一行:
$result = $mysqli->query("insert into stuff (data) values ('
.$_POST['data']
."');
应改为:
$result = $mysqli->query("insert into stuff (data) values ('".$_POST['data']."')");
在SQL语句中使用$\u POST['data']值之前,请先将其转义。如果action.php中出现语法错误,请执行以下操作:
ini\u set不ini\u-sit在第2行 action.php中出现语法错误:
ini_sit
ini\u set不ini\u-sit在第2行
ini_sit
一定是
ini_set
)()
一定是
ini_set
)() 好的,首先,这里有一个巨大的SQL注入漏洞。其次,您没有错误检查。第三,您的引号嵌套不正确(这将导致致命错误,这就是您没有看到任何内容的原因)
将其修改为如下内容:
$mysqli = new mysqli('localhost', 'root', 'password', 'website');
if ($mysqli->connecterror) {
//There was an error connecting, handle it
}
$result = $mysqli->query("insert into stuff (data) values ".
" ('".$mysqli->real_escape_string($_POST['data'])."')";
if ($result === false) {
//Query error, handle it
}
此外,您在循环数据时没有检查结果是否有效:
if($result = $mysqli->query("select data from stuff")){
echo 'There are '.$result->num_rows.' results.';
while ($row = $result->fetch_object()){
echo 'stuff' . $row->data;
}
}
首先,这里有一个巨大的SQL注入漏洞。其次,您没有错误检查。第三,您的引号嵌套不正确(这将导致致命错误,这就是您没有看到任何内容的原因)
将其修改为如下内容:
$mysqli = new mysqli('localhost', 'root', 'password', 'website');
if ($mysqli->connecterror) {
//There was an error connecting, handle it
}
$result = $mysqli->query("insert into stuff (data) values ".
" ('".$mysqli->real_escape_string($_POST['data'])."')";
if ($result === false) {
//Query error, handle it
}
此外,您在循环数据时没有检查结果是否有效:
if($result = $mysqli->query("select data from stuff")){
echo 'There are '.$result->num_rows.' results.';
while ($row = $result->fetch_object()){
echo 'stuff' . $row->data;
}
}
我修好了。但仍然没有结果。该行现在显示:$result=$mysqli->query(“插入到内容(数据)值中(“.”“$\u POST['data']”)。”;养成使用带有语法突出显示的编辑器的习惯,这样就更容易看到这样的错误……如果你查看原始帖子,即使在那里也很明显。我修复了这个问题。但仍然没有结果。行现在显示:$result=$mysqli->query(“插入到内容(数据)值(“$\u POST['data']”)。”;养成使用带有语法突出显示的编辑器的习惯,这样就更容易看到这样的错误……如果你查看原始帖子,即使在那里也很明显。