有人能告诉我为什么我的代码中出现这个错误吗?
警告:mysql_fetch_row() 期望参数 1 是资源,在第 61 行的 C:\xampp\htdocs\dashboard\PROYECTOFINALLP4\registrobd.php 中给出的布尔值*
我尝试制作记录并将其保存在我创建的数据库中,我留下了代码:
<?php
$host = "127.0.0.1";
$user = "root";
$password = "";
$conectar = mysql_connect ($host, $user, $password);
mysql_select_db("proyectofinallp4", $conectar);
$id = $_POST["id"];
$nombre = $_POST["nombre"];
$password = $_POST["password"];
$consulta = "INSERT INTO usuarios id = '$id', nombre = '$nombre', password = '$password'";
$query = mysql_query ($consulta, $conectar);
$resultado = mysql_fetch_row ($query); //ESTA ES LA LINEA 61
if ($query == null) {
echo "<center><h1>ERROR AL REGISTRAR</h1></center>" . mysql_error();
}
else
{
echo "<center><h1>USUARIO REGISTRADO EXITOSAMENTE</h1></center>";
}
?>
问题是它
mysql_fetch_row()
需要一个 type 的变量resource
。您将变量作为参数传递$query
。这将获取您正在执行的查询的返回值。根据 PHP 文档,如果您执行类型为 SELECT、SHOW、DESCRIBE、EXPLAIN 等的查询,则使用 mysql_query 函数会返回一个类型为 的变量
resource
。但如果是 INSERT、UPDATE、DELETE、DROP 等类型;返回一个布尔变量。文档:
首先,您必须修复查询。
请注意,我在表名之后使用了SET 。
其次是删除,
mysql_fetch_row
因为它不在这种类型的命令中使用。我希望我对您有所帮助。
mysql_fetch_row
仅适用于类型查询select
,不适用于插入。我真的不知道你为什么需要那条线