2013-09-13 2 views
2

Получил эту ошибку: «Не удалось выбрать databasename» Im new для PHP и im обучения. Я создаю php-скрипт, который будет генерировать XML-фид из моей базы данных. Вот код:Не удалось выбрать databasename - PHP mySQL Database Querying for XML

<?php 
$dbhost = "localhost"; 
$dbuser = "my database username"; 
$dbpass = "my password"; 
$dbname = "my database name"; 

$dbhandle = mysql_connect($dbhost, $dbuser, $dbpass) 
or die("Unable to connect to MySQL"); 

$selected = mysql_select_db("dbname",$dbhandle) 
or die("Could not select databasename"); 

$sql = "SELECT * FROM listings"; 
$q = mysql_query($sql) or die(mysql_error()); 
$xml = "<listings>"; 
while($r = mysql_fetch_array($q)){ 
    $xml .= "<listings>"; 
    $xml .= "<listingsdb_title>".$r['listingsdb_title']."</listingsdb_title>"; 
    $xml .= "<address>".$r['address']."</address>"; 
    $xml .= "<class_name>".$r['class_name']."</class_name>"; 
    $xml .= "<listingsimages_thumb_file_name>".$r['listingsimages_thumb_file_name']."    </listingsimages_thumb_file_name>";  
    $xml .= "<beds>".$r['beds']."</beds>"; 
    $xml .= "<baths>".$r['baths']."</baths>"; 
    $xml .= "<sqm>".$r['sqm']."</sqm>"; 
    $xml .= "<author>".$r['author']."</author>"; 
    $xml .= "<full_desc>".$r['full_desc']."</full_desc>";  
    $xml .= "<price>".$r['price']."</price>"; 
    $xml .= "</listings>"; 
} 
$xml .= "</listings>"; 
$sxe = new SimpleXMLElement($xml); 
$sxe->asXML("listings.xml"); 
?> 
+0

mysql_select_db ("dbname", $ dbhandle). Вы намеревались использовать переменную $ dbname здесь ... правильно? – rakeshjain

+0

$ selected = mysql_select_db ("dbname", $ dbhandle) в этой строке вы используете правильное имя? Я думаю, что это должно быть $ dbname вместо "dbname" – Bhadra

+0

изменить '" dbname "' to '" $ dbname " '. и используйте PDO/mysqli. 'mysql_ *' устарели. – itachi

ответ

0

Ошибка показывает что вы не выбрали свои данные base ..

Вы уже сохранили свою базу данных в переменной $dbname, а теперь просто передайте ее в mysql_select_db, как показано ниже.

$dbname = "my database name"; 
$selected = mysql_select_db($dbname,$dbhandle) or die("Could not select databasename"); 
+0

Спасибо за быстрый ответ ... его работы, но следующая ошибка: «Предупреждение: SimpleXMLElement :: __ construct() [simplexmlelement .-- construct]» hahaha crazy me, часть обучения :-) –

+0

Добавить 'Header ('Content-type: text/xml');' line after '$ sxe = new SimpleXMLElement ($ xml);' –

0

Канге

$selected = mysql_select_db("dbname",$dbhandle) to 
$selected = mysql_select_db($dbname,$dbhandle) 
+0

благодарит за ответ :-) –

0

Я думаю, что вы пытаетесь сделать это ...

$selected = mysql_select_db($dbname,$dbhandle) 
or die("Could not select databasename"); 

"dbname"=>$dbname

+0

благодарит за ответ :-) –