0

我对以下 php/sql 有疑问。我在 mysql 终端中运行了 sql,它运行良好。我还尝试了我的连接语句来提醒一个字符串,它在连接到数据库时成功地提醒了这个字符串。此代码中存在一些错误,当它应该返回两个整数时返回 null。有什么建议么?

$xmax = mysql_fetch_row(mysql_query('SELECT MAX(x) AS xmax FROM headerfooter WHERE site = "Brighter_Vista" AND location = 0'));
$xmax = $xmax['xmax'];
$ymax = mysql_fetch_row(mysql_query('SELECT MAX(y) AS ymax FROM headerfooter WHERE site = "Brighter_Vista" AND location = 0'));
$ymax = $ymax['ymax'];
echo '<script>alert("'.$xmax.$ymax.'")</script>';
4

2 回答 2

1

最简单的解决方案是使用以下命令检查 sql 语句是否返回错误:

mysql_query('SELECT MAX(y) AS ymax FROM headerfooter WHERE site = "Brighter_Vista" AND location = 0') or die('Error: '.mysql_error());

旁注:不要再使用 mysql_* 函数了,那个时候已经过去了。使用mysqliPDO

于 2012-11-21T02:04:40.707 回答
1

我们看不到您的其余代码,但是,您可以将其细化为一个查询,执行以下操作:

  $connection = mysql_connect(
        $DB_hostname, 
        $DB_username, 
        $DB_password) or die(mysql_error());
  mysql_select_db($DB_name, $connection);

  $query = mysql_query("
      SELECT MAX(x) AS xmax, MAX(y) AS ymax 
      FROM headerfooter 
      WHERE site = 'Brighter_Vista' AND location = '0'
  ", $connection) or die(mysql_error());

  while ($row = mysql_fetch_array($query))
  {
     $xmax = $row['xmax'];
     $ymax = $row['ymax'];
  }

  echo '<script>alert("'.$xmax.$ymax.'")</script>';

但是,如果您有时间、有能力并希望学习,您应该(正如其他人所指出的)查看和使用mysqliPDO。明智的建议,随着时间的推移,你会明白为什么。

于 2012-11-21T02:15:36.560 回答