我有一个PHP文档打开与数据库的连接。一切正常 - 但只要我向文档添加一个额外的mysql_query请求,mySQL服务器就会响应500内部服务器错误。
知道为什么吗?有没有理由我在一个文档中不能有多个mysql_query请求?
非常感谢!
这里有令人讨厌的PHP代码(大多数回声是出于调试的原因)
<?php
$q=$_GET["q"];
$con = mysql_connect('address.com', 'database', 'password');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("sql01_5789willgil", $con);
$sql1="SELECT * FROM place WHERE title = '".$q."'";
$result1 = mysql_query($sql1);
$row = mysql_fetch_array($result1);
$id=$row+1;
$sql2="SELECT * FROM place WHERE title = '".$q."'";
$result2 = mysql_query($sql2);
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>";
while($row = mysql_fetch_array($result2))
{
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['description'] . "</td>";
echo "<td>" . $row['latitude'] . "</td>";
echo "<td>" . $row['longitude'] . "</td>";
echo "<td>" . $row['image'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo "ID equals " . $id;
echo "row equals " . $row;
mysql_close($con);
?>
答案 0 :(得分:1)
从这里开始:
$sql1="SELECT * FROM place WHERE title = '".$q."'";
$result1 = mysql_query($sql1);
$row = mysql_fetch_array($result1);
$id=$row+1;
您正在为数组添加“1”。我试过这个脚本我的盒子:
<?php
$row = array("my", "name", "is", "foo");
$id = $row + 1;
?>
并收到此错误:
致命错误:不支持的操作数类型
也许这是脚本抱怨的问题。
从这里回答:Apache Fall Back When PHP Fails这就是为什么它会返回500
答案 1 :(得分:1)
$sql1="SELECT * FROM place WHERE title = '".
mysql_real_escape_string($q, $con)."'"; <-- please escape
$result1 = mysql_query($sql1, $con); <-- always specify link identifier
if ($result1)
{
$row = mysql_fetch_array($result1); <-- always check result exist before fetch
}