2012-10-12 2 views
0

Le code suivant ne fonctionne pas comme prévu en utilisant la fonction mysql_query().mysql_query() ne fonctionne pas comme prévu mais phpmyadmin est

$conn = mysql_connect('localhost','user','pass') or die (mysql_error()); 

mysql_select_db('db') or die (mysql_error()); 

$sql = "SET @orig_lat=33.81978250;SET @orig_lon=-118.10641560; SET @dist =10;SELECT Name, Address, City, State, Zip, 3956 *2 * ASIN(SQRT(POWER(SIN((@orig_lat - abs(b.lat)) * pi() /180 /2) , 2) + COS(@orig_lat * pi() /180) * COS(abs(b.lat) * pi() /180) * POWER(SIN((@orig_lon - b.lng) * pi() /180 /2) , 2))) AS distance FROM tblDealer AS b HAVING distance < @dist ORDER BY distance LIMIT 10"; 

$result = mysql_query($sql, $conn) or die (mysql_error()); 

$num_rows = mysql_num_rows($result) or die (mysql_error()); 

echo $num_rows; 

Cela fonctionne parfaitement dans phpMyAdmin. Quelqu'un peut-il me dire ce qui ne va pas?

Je reçois l'erreur suivante lorsque je tente de l'exécuter:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @orig_lon=-118.10641560; SET @dist =10;SELECT Name, Address, City, State, Zi' at line 1

Répondre

3

De l'PHP Docs on mysql_query.

mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.

Comment remédier à cela? Utilisez le mysqli extension à la place.

+0

Cela ne fonctionne pas aussi bien. J'ai utilisé mysqli mais il donne l'erreur suivante: Erreur fatale: Appel à une fonction membre fetch_assoc() sur un non-objet dans /home/abc/public_html/test.php sur la ligne 43 – egocentrino

+0

L'extension mysqli est différente de l'extension mysql de plusieurs façons. Assurez-vous de récupérer correctement les données avec l'API de mysqli. – aefxx

+0

Je l'ai utilisé sans chance: $ mysqli-> real_query ($ sql); \t $ res = $ mysqli-> use_result(); While ($ row = $ res-> fetch_assoc()) { echo "zip =". \t $ row ['zip']. "\ n"; } – egocentrino

Questions connexes