我是新来的,所以我有一些问题。我正在开发一个网站,但是有一些问题。 我有带标签的地图,onclick调用一个函数" getObject(this.alt)"。
function getObjects(object){
console.log(object);
$.get("/sites/map/objects.php?t="+object, function(data) {
$('#answer').html(data);
});
它执行脚本object.php是t = area tags alt属性,objects.php连接到MySql并返回对象行,但是我得到了这种错误:
GET http://some-site.com/sites/map/objects.php?t=some_object 500 (Internal Server Error) jquery-latest.js:8706
你能帮帮我吗? :)
这是PHP代码。 对象是HTML文件中区域标记的alt属性。它得到这个alt,并从中返回带有此alt名称的DB行。
<?php
$object = $_GET['t'];
echo $object;
$con=mysqli_connect("server_adr","username","password","db_name");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$con->set_charset("utf8");
if($object!='all'){
$result = mysqli_query($con,"SELECT * FROM map WHERE `city`='$object' ORDER BY tips");
}
else{
$result = mysqli_query($con,"SELECT * FROM map ORDER BY tips");
}
$old_tips = '';
$old_city = '';
while($row = mysqli_fetch_array($result))
{
$tips = $row['tips'];
$city = $row['city'];
if($old_tips!=$tips){
echo '<strong>'.$tips.'</strong><br>';
}
if($old_city!=$city){
echo $row['city'] . '<br>';
}
echo $row['title'] . ' - <a href="'.$row['web'].'">' . $row['web']. '</a>';
echo "<br>";
$old_tips = $row['tips'];
$old_city = $row['city'];
}
?>
WEB服务器信息:
答案 0 :(得分:1)
mysqli_connect
会抛出异常。您可以在php
extions文件
如果你的数据库是一个mysql数据库而不是mysqli,
尝试在php代码文件中将mysqli
更改为mysql
答案 1 :(得分:0)
您的错误在php上。
将其添加到php脚本的顶部:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
然后检查日志:
tail -f /tmp/php-error.log
答案 2 :(得分:0)
所以我解决了这样的问题。
Cheked PHP扩展,将mysqli_...
更改为mysql_...
Cheked SQL用户权限并将其更改为适合我的问题。
我写了数据库地址&#34; localhost&#34;因为它在其他服务器上运行,而不是在我的服务器上运行,但是当给予mysql_connect()
地址时就像IP一样,那么连接建立正确。
而且它有效,感谢大家的帮助。 :)
现在它看起来像这样:
$connection = mysql_connect("db_addr","sql_user","password");
// Check connection
if (!$con)
{
die ("Could not connect: " . mysql_error());
}
echo "Connection successfully <br>";
mysql_select_db("database_name");
mysql_set_charset('utf8' , $connection);