Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL fetch\u阵列不工作?_Php_Mysql_Web - Fatal编程技术网

Php MySQL fetch\u阵列不工作?

Php MySQL fetch\u阵列不工作?,php,mysql,web,Php,Mysql,Web,我的数据库中有两个表-链接和建议 这就是我的代码的外观。在第一个代码中,我从数据库中取出建议并显示它们,但是当我试图从另一个表中显示视频链接时,它不起作用 <?php include('config.php'); $from = "suggestions"; $sql = mysql_query("SELECT * FROM `".$from."` WHERE `ID` = '". $_GET['ID'] ."'"); $vis = mysql_fetch_array($sql); ec

我的数据库中有两个表-链接和建议

这就是我的代码的外观。在第一个代码中,我从数据库中取出建议并显示它们,但是当我试图从另一个表中显示视频链接时,它不起作用

<?php
include('config.php');
$from = "suggestions";
$sql = mysql_query("SELECT * FROM `".$from."` WHERE `ID` = '". $_GET['ID'] ."'");
$vis = mysql_fetch_array($sql);

echo ("TITLE: <br />");
echo ("".$vis['title']."");
echo ("<br /> <br /> SUGGESTION: <br />");
echo ("".$vis['suggestion']."");

$from2 = "link";
$sql2 = mysql_query("SELECT * FROM `".$from2."` WHERE `ID` = '". $_GET['ID'] ."'");
$vis2 = mysql_fetch_array($sql2);
echo ("<br /> <br /> LINK:");
echo ("".$vis2['videolink']."");
您的查询($sql2)失败,因此不会生成查询资源,而是生成FALSE

要显示动态生成的查询的外观并显示错误,请尝试以下操作:

$result = mysql_query($sql2) or die($myQuery."<br/><br/>".mysql_error());
while ($row = mysql_fetch_array($sql2, MYSQL_ASSOC)) {
    echo "LINK: ". $row['videolink'];
}
$result=mysql\u query($sql2)或die($myQuery。“

”。mysql\u error());

错误消息将引导您找到解决方案,下面的注释中的解决方案与在您选择的表中不存在的字段上使用ORDER BY有关。

检查sql字符串

试一试


小心那些代码。所有人要做的就是去

yourpage.php?ID=1;DELETE FROM suggestions
您的表将被删除。您不必将
echo
括在括号中。
否则,请直接在phpMyAdmin中尝试SQL查询,看看它会抛出什么错误。

一个id是否有多个链接?也许你可以试试这个:

$result = mysql_query($sql2) or die($myQuery."<br/><br/>".mysql_error());
while ($row = mysql_fetch_array($sql2, MYSQL_ASSOC)) {
    echo "LINK: ". $row['videolink'];
}

试试这个,并给出它给出的错误

<?php
include('config.php');
$from = "suggestions";
$sql = mysql_query("SELECT * FROM `".$from."` WHERE `ID` = '". $_GET['ID'] ."'");
if($sql){
$vis = mysql_fetch_array($sql);
echo ("TITLE: <br />");
echo ("".$vis['title']."");
echo ("<br /> <br /> SUGGESTION: <br />");
echo ("".$vis['suggestion']."");
}
else
echo mysql_error();

$from2 = "link";
$sql2 = mysql_query("SELECT * FROM `".$from2."` WHERE `ID` = '". $_GET['ID'] ."'");
if($sql2){
$vis2 = mysql_fetch_array($sql2);
echo ("<br /> <br /> LINK:");
echo ("".$vis2['videolink']."");
}
else
echo mysql_error();
?>

调试 我把你的整个档案都改了。请在评论中发布运行此操作后输出的内容

<?php
define('DEBUG',1);
include('config.php');

if (!DEBUG) {
  $q = 'SELECT * FROM suggestions WHERE `ID` = '.abs((int)$_GET['ID']);
  $res = mysql_query($q);
  $row = mysql_fetch_array($res,MYSQL_ASSOC);
  echo nl2br(sprintf("TITLE: \n%s\n\nSUGGESTION:\n%s",$row['title'],$row['suggestion']));
  $q = 'SELECT * FROM link WHERE `ID` = '.abs((int)$_GET['ID']);
  $res = mysql_query($q);
  $row = mysql_fetch_array($res,MYSQL_ASSOC);
  echo nl2br(sprintf("\n\nLINK:%s",$row['videolink']));
} else {
  ob_start();
  // my debugging operation
  echo 'DESCRIBE `link` RETURNS schema: link (ID, videotitle, videolink)'.PHP_EOL;
  $q = 'SELECT * FROM link';
  $res = mysql_query($q);
  while ($row=mysql_fetch_assoc($res)) print_r($row);
  echo '<pre>'.ob_get_clean().'</pre>';
}

define:它不工作,什么也不显示。它显示了我在echo中写的标题“LINK”,但它不会获取名为“videolink”的链接本身。它没有表现出来。我做错了什么?它给了我这个错误。警告:mysql\u fetch\u array()希望参数1是resource,布尔值在第14行的C:\wamp\www\Project Challenger\seting.php中给出,这是语法错误吗?mysql\u fetch\u array()希望参数1是服务器上php错误中给出的resource boolean,如果出现此错误:请选择服务器上的所有权限。你会得到答案的1.我不明白这一点。我是MYSQL和Php新手。你能重新表述你的答案吗?建议中的数组正在展示,而不是链接中的数组。我尝试添加:$id=$\u GET['id']$sql=mysql_查询(“从建议中选择*,其中ID='$ID');这并没有改变它。还没有什么显示。我做错了什么?别担心,它现在只在我的本地服务器上。我正在学习MySQL,因为我正在建立一个简单的网站,它还没有公开。此外,我删除了echo中的偏执,它没有改变任何东西,它没有给出任何错误。与之前相同,未显示任何链接:(这是输出布尔假数组([Field]=>ID[Type]=>int(11)[Null]=>NO[Key]=>PRI[Default]=>[Extra]=>auto_increment)数组([Field]=>videotitle[Type]=>text[Null]=>NO[Key]=>[Default]=>[Extra]=>)数组([Field]=>videolink[Type]=>text[Null]=>NO[Key]=>[Default]=>[Extra]=>)我想我发现了一个问题。这只是一个假设,但似乎我们正在向查询中的
WHERE
子句传递一个字符串。字段
ID
正在被传递一个字符串
“。$\u GET['ID']”
。尝试运行查询,删除其中的双引号。我将编辑我的代码,以便您可以查看它并添加对问题的注释。如果这样做有效,请不要忘记删除调试代码。这太荒谬了!我将添加更多调试代码以开始缩小问题范围。这需要在我设置之前完成,因此请耐心重新编写整个事情,像以前一样,请让我知道输出了什么,如果你有任何问题,你知道怎么做