在 PHP 上查询 MySQL [关闭]

Posted

技术标签:

【中文标题】在 PHP 上查询 MySQL [关闭]【英文标题】:Query MySQL on PHP [closed] 【发布时间】:2013-11-09 21:24:35 【问题描述】:

大家好,我有一些关于 mysql 查询的问题。 我有一些这样的代码

SELECT site.id, site.name_site, site.id_site,site.id_mast,site.address,site.types,
       site.longtitude,site.latitude,site.altitude, site.id_region as site, 
       region.name_region, region.id_region as region 
       FROM site as site 
       INNER JOIN region as region 
       ON site.id_region = region.id_region ORDER BY name_site limit 3;  

还有这项工作:

SELECT * FROM site, region WHERE site.id_region= region.id_region LIMIT 2;

在浏览器上什么都没有发生,在 mysql 上这个工作,但在 php 上没有。为什么我在脚本 php 上有一些错误或查询 mysql 有问题? 请帮我。 感谢所有提示。

<?php

$dbhost = '............';
$dbuser = '........';
$dbpass = '.......';

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )

die('Could not connect: ' . mysql_error());

$sql = ("SELECT * FROM site, region WHERE site.id_region= region.id_region LIMIT 2;");
mysql_select_db('db_site', $conn) or die ('Invalid query: ' . mysql_error());
?>
<h4><center>Title</center></h4>
<table border='2' cellspacing='0' cellpadding='0'>
<tr>
<td>id</td>
<td>id_site</td>
<td>id_mast</td>
<td>name_site</td>
<td>address</td>
<td>types</td>
<td>longtitude</td>
<td>latitude</td>
<td>altitude</td>
<td>id_region</td>
</tr>
<?php

$retval = mysql_query( $sql, $conn ) or die ('Error did not connection'. mysql_error());
if(! $retval )

die('Could not get data: ' . mysql_error());


while($row = mysql_fetch_array($retval, MYSQL_ASSOC))

print "<tr>";
print "<td>$row['id']</td>";
print "<td>$row['id_site']</td>";
print "<td>$row['id_mast']</td>";
print "<td>$row['name_site']</td>";
print "<td style='width:100;'>$row['address']</td>";
print "<td style='width:100;'>$row['types']</td>";
print "<td>$row['longtitude']</td>";
print "<td>$row['latitude']</td>";
print "<td>$row['altitude']</td>";
print "<td>$row['id_region']</td>";
print "</tr>";

print "</table>";
mysql_close($conn);
?>

感谢所有提示。谢谢

【问题讨论】:

你是如何在 PHP 上运行的,你希望发生什么? .. 会发生什么?你有错误吗? 我希望您没有将 MySQL 代码直接粘贴到 .php 文件中 用 PHP 代码编辑问题 编辑您的问题以添加您的 php 代码 【参考方案1】:

尝试删除 printf 中的简单引号:$row['id_region'] 变为 $row[id_region],但我建议您确定:

echo '<td>'.$row['id_region'].'</td>';

另外,请考虑使用 mysqli 而不是 mysql,因为它已被弃用

<?php

$dbhost = '............';
$dbuser = '........';
$dbpass = '.......';
$dbname = 'db_site';
$my = new Mysqli($dbhost, $dbuser, $dbpass, $dbname);

?>
<h4><center>Title</center></h4>
<table border='2' cellspacing='0' cellpadding='0'>
<tr>
<td>id</td>
<td>id_site</td>
<td>id_mast</td>
<td>name_site</td>
<td>address</td>
<td>types</td>
<td>longtitude</td>
<td>latitude</td>
<td>altitude</td>
<td>id_region</td>
</tr>
<?php

// create a db connexion
$sql = 'SELECT * FROM site, region WHERE site.id_region= region.id_region LIMIT 2;';
// make the query
$stmt = $my->query($sql);
// fetch the results, display them as you want
while($row = $stmt->fetch_assoc())

  echo '<tr>';
  echo '<td>'.$row['id'].'</td>';
  echo '<td>'.$row['id_site'].'</td>';
  echo '<td>'.$row['id_mast'].'</td>';
  echo '<td>'.$row['name_site'].'</td>';
  echo '<td style="width:100;">'.$row['address'].'</td>';
  echo '<td style="width:100;">'.$row['types'].'</td>';
  echo '<td>'.$row['longtitude'].'</td>';
  echo '<td>'.$row['latitude'].'</td>';
  echo '<td>'.$row['altitude'].'</td>';
  echo '<td>'.$row['id_region'].'</td>';
  echo '</tr>';

echo '</table>';

【讨论】:

以上是关于在 PHP 上查询 MySQL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP MySQL查询不返回结果[关闭]

如何在php中将div值传递给mysql查询[关闭]

使用 php 和 mysql 搜索查询 [关闭]

php mysql Paypal IPN mysql查询有问题[关闭]

使用 jQuery 的 PHP/MySQL 查询生成器 UI? [关闭]

如何根据用户位置查询 mySQL [关闭]