2013-10-30 70 views
-7

大家好,我對MySQL的查詢有一些疑問。 我有一些這樣的代碼在PHP上查詢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 BYT這項工作,但不是在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); 
?> 

感謝您的所有提示。由於

+1

你如何運行在PHP和你期望發生什麼? –

+0

..會發生什麼?你有錯誤嗎? – harpax

+4

代碼在哪裏? –

回答

0

儘量去除簡單的報價在你的printf:$row['id_region'] becames $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>'; 
+0

謝謝所有!!!!!! – nasimjon