Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
I seem to have run into a problem with my php, getting this error:
Warning: mysql_real_escape_string() expects parameter 1 to be string,
array given in
/home/nightl7/public_html/demos/autocompletejquery/submit.php on line
27Warning: mysql_query() [function.mysql-query]: Access denied for user
‘nightl7’@’localhost’ (using password: NO) in
/home/nightl7/public_html/demos/autocompletejquery/submit.php on line
36Warning: mysql_query() [function.mysql-query]: A link to the server
could not be established in
/home/nightl7/public_html/demos/autocompletejquery/submit.php on line
36 Access denied for user ‘nightl7’@’localhost’ (using password: NO)
SELECT * FROM markers WHERE select3 = ”
This is the code I have:
<?php
require("db_access.php");
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
$name=$_POST['name'];
$address=$_POST['address'];
$type=$_POST['type'];
$request=$_POST['$_REQUEST'];
// Select all the rows in the markers table
$inputs = array('select3');
$where = array();
foreach($inputs as $input)
{
if(!empty($_POST[$input])) {
$where[] = "{$input} = '" . mysql_real_escape_string($_POST[$input]) . "'";
}
}
if ($where) {
$query = 'SELECT * FROM markers WHERE ' . implode(' AND ', $where);
} else {
user_error("No rows returned by:<br />\n$query");
}
$result = mysql_query($query);
if($result == false) {
die(mysql_error() . "<br />\n$query");
}
if(mysql_num_rows($result) == 0) {
user_error("No rows returned by:<br />\n$query");
}
// Fetch the result
$rowset = array();
while ($row = mysql_fetch_array($result)) {
$rowset[] = $row;
}
// Look at your rowset structure:
print_r($rowset);
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<markers>';
// Iterate through the rows, printing XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker ';
echo 'name="' . parseToXML($row['name']) . '" ';
echo 'address="' . parseToXML($row['address']) . '" ';
echo '/>';
}
// End XML file
echo '</markers>';
?>
And I don’t know why I’m getting a password error since this is what my db_access.php looks like:
<?
$username="nightl7_mapus";
$password="MYPASSWORD - is is correct :)";
$database="nightl7_map";
?>
What you have so far looks pretty good. You have properly escaped the SQL inputs when building your
WHEREclause. You’ve properly checked for errors in your query result. Looks like the next thing you need to do is fetch your query result rows:UPDATE Problems with your
db_access.php:If your username and password are correct in this file, perhaps it isn’t being parsed correctly because
short_open_tagsare disabled on your web server.Try changing
<?to<?phpindb_access.php.