MySQL fetch_array无法正常工作?

时间:2013-11-29 12:57:51

标签: php mysql web

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

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

<?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']."");

6 个答案:

答案 0 :(得分:0)

您的查询($ sql2)失败,因此不会生成查询资源,而是生成FALSE。

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

$result = mysql_query($sql2) or die($myQuery."<br/><br/>".mysql_error());

错误消息将引导您进入解决方案,下面的评论与您正在选择的表中不存在的字段上使用ORDER BY有关。

答案 1 :(得分:0)

检查你的sql字符串......

$id = $_GET['id'];


$sql = mysql_query("SELECT * FROM `suggestions` WHERE `ID` ='$id'");

答案 2 :(得分:0)

小心那段代码。所有人都必须去

yourpage.php?ID=1;DELETE FROM suggestions

您的表格将被删除。而且您不必将echo括在括号中。 否则,直接在phpMyAdmin中尝试SQL查询,看看它会抛出什么错误。

答案 3 :(得分:0)

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

while ($row = mysql_fetch_array($sql2, MYSQL_ASSOC)) {
    echo "LINK: ". $row['videolink'];
}

答案 4 :(得分:0)

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

<?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();
?>

答案 5 :(得分:0)

调试

我改变了你的整个文件。请在评论中发布运行此内容后输出的内容

<?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>';
}

我希望这会开始产生一些结果