Reputation: 79
I'm new here so I have some question. I'm developing a web site, but there is some problem. I have map with tags, that onclick invokes a function "getObject(this.alt)".
function getObjects(object){
console.log(object);
$.get("/sites/map/objects.php?t="+object, function(data) {
$('#answer').html(data);
});
It executes script object.php were t= area tags alt attribute, the objects.php connects to MySql and returns objects row, but I get this kind of error:
GET http://some-site.com/sites/map/objects.php?t=some_object 500 (Internal Server Error) jquery-latest.js:8706
Can you please help me? :)
This is the PHP code. Object is alt atribute from area tag in HTML file. It gets this alt and from that returns DB row with this alt name.
<?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'];
}
?>
And the WEB server info:
Upvotes: 0
Views: 3103
Reputation: 79
So I solved problem like this.
Cheked the PHP extension, changed mysqli_...
to mysql_...
Cheked the SQL user privilegies and changed them to be suitable to my problem.
And I had database address written "localhost" because it runs on other server, not mine but when given to mysql_connect()
the address like in IP, then the connection established right.
And whola it worked, thanks everybody for help. :)
Now it looks something like this:
$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);
Upvotes: 0
Reputation: 8184
mysqli_connect
throws exception if mysqli module not installed or enabled. You'd activate this module in the php
extions file
OR if your database is a mysql database and not mysqli,
try to change from mysqli
to mysql
in your php code file
Upvotes: 1
Reputation: 98881
Your error is on the php.
Add this to the top of your php script:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
Then check the log:
tail -f /tmp/php-error.log
Upvotes: 0