php - mysql_fetch_row() : supplied argument is not a valid MySQL result resource in

标签 php mysql

我收到此查询的错误(mysql_fetch_row():提供的参数不是有效的 MySQL 结果资源)。为什么?

<?php

set_time_limit(0);
//MySQL globals
$mysql_server = "***";//change this server for your Drupal installations
$mysql_user = "***";//Ideally, should be root
$mysql_pass = "***";//Corresponding password
$conn = mysql_connect($mysql_server,$mysql_user,$mysql_pass);//MySQL connection string


$query = "select * from dr_wiwe_old_node WHERE type = 'story'";
$noders = mysql_query($query);
var_dump($noders);
while ($row = mysql_fetch_row($noders)) {
$nid = $row[0];
$vid = $row[1];
$type = $row[2];
$title = mysql_real_escape_string($row[3]);
$uid = $row[4];
$status = $row [5];
$created = $row[6];
$changed = $row[7];
$comment = $row[8];
$promote = $row[9];
$moderate = $row[10];
$sticky = $row[11];
//Insertion into node
$query="insert into dr_wiwe_node values('" . $nid . "','" 
    . $vid . "','" . $type . "','','" . $title . "','" . $uid . "','" 
    . $status . "','" . $created . "','" . $changed . "','" . $comment
    . "','" . $promote . "','" . $moderate . "','" . $sticky . "','0','0')";
if (!mysql_query($query)) {
print $query;
}
?>

错误在哪里或者我可以更改什么?

最佳答案

执行查询时,检查函数的返回值。如果它是false,那么您的查询有错误。

$noders = mysql_query($query);
if ($noders === false) {
  error_log(mysql_error());
}

错误可能因多种原因而发生,包括:

  • 您尚未连接到 MySQL 服务器。
  • 您没有使用 mysql_select_db() 选择正确的数据库,因此 MySQL 不知道如何查找您在查询中指定的表。您的代码示例就是这种情况。
  • 您的 SQL 语法有错误。
  • 您无权访问查询中指定的表。
  • 等等

关于php - mysql_fetch_row() : supplied argument is not a valid MySQL result resource in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3484369/

相关文章:

mysql转储: how to fetch dependent rows

javascript - 学习 Ajax 。如何在 json 响应上打印变量

php - Laravel 5 从 Laravel 安装外部加载 View

php - php 的 date_default_timezone_set 是否调整为夏令时?

mysql - Sequelize 复合唯一约束

mysql - 如何使用不同的启动参数重启mysql docker镜像

php - Symfony2 - 检测用户是否在安全防火墙内

php - 为每个section定义 'Default Template'

mysql - MySQL 调查设计中的可重用问题

PHP - MySQL 没有关于 SQL 错误的错误消息