2016-07-22 2 views
0

Я действительно надеюсь, что я не просто глуп. Я пытаюсь получить два значения из существующей базы данных на основе идентификатора пользователя. Я пробовал пару разных вещей, поэтому у меня есть код с комментариями, если я был рядом!Невозможно получить запись таблицы MySQL в переменную PHP

Я использую оператор select для получения значений, а затем пытаюсь передать их в переменные PHP. Я получаю значения из БД, просто не устанавливая их как переменные PHP.

<?php 
 
//declare database variables 
 
header('Content-type: text/html; charset=utf-8'); 
 
$username = "ishuttle"; 
 
$password = ""; 
 
$hostname = "localhost"; 
 
$dbname = "ishuttle_taxi-location"; 
 

 
$conn = mysql_connect($hostname, $username, $password); 
 
if(! $conn) 
 
{ 
 
    die('Could not connect: ' . mysql_error()); 
 
} 
 

 

 

 
//search database for driver location 
 
    
 
mysql_select_db('ishuttle_taxi-location'); 
 
    
 
$sql = "SELECT _id, Latitude, Longitude 
 
FROM driver_location 
 
WHERE _id = 2"; 
 

 

 

 

 
$retval = mysql_query($sql, $conn); 
 
if(! $retval) 
 
{ 
 
    die('Could not get data: ' . mysql_error()); 
 
} 
 
while($row = mysql_fetch_assoc($retval)) 
 
{ 
 
    echo "Lat :{$row['Latitude']} <br> ". 
 
     "Long: {$row['Longitude']} <br> ". 
 
     "--------------------------------<br>"; 
 
} 
 
echo "Fetched data successfully\n"; 
 

 

 

 
$Lat = $retval[1]; 
 
$Long = $retval[2]; 
 
echo "$Lat"; 
 

 

 

 
?>

Приветствия заранее :)

+0

Проверьте наш mysqli_ или PDO. Msql_ для всех намерений, мертвых в новой версии php. – nerdlyist

ответ

1

Присвоить переменные внутри цикла while. Изменение

while($row = mysql_fetch_assoc($retval)) 
{ 
    echo "Lat :{$row['Latitude']} <br> ". 
     "Long: {$row['Longitude']} <br> ". 
     "--------------------------------<br>"; 
} 

в

while($row = mysql_fetch_assoc($retval)) 
{ 
     $Lat = $row['Latitude']; 
     $Long = $row['Longitude']; 
     echo "Lat :{$row['Latitude']} <br> ". 
     "Long: {$row['Longitude']} <br> ". 
     "--------------------------------<br>"; 
} 
+0

Вы величественный SOB. Огромное спасибо. Это спасло мак бекон. – samgarbett

+1

А затем прочитайте, как предотвратить SQL-инъекцию http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php/60496#60496 – fislerdata

0

Это неправильно:

$Lat = $retval[1]; 
     ^^^^^^ 

$ RetVal ваш результат ручки из запроса MySQL. Это НЕ массив результатов.

Смежные вопросы