У меня есть функция php, которая, я надеюсь, вернет все данные. Проблема прямо сейчас заключается в том, что она вернет первую строку, а затем отключится, и я не уверен, почему.как вернуть данные mysql из php-функции
function get_user_info($id,$field='')
{
//connect to database
include_once("../config.php");
$qry= "SELECT `$field` FROM `".$user_table."` WHERE `id` ='$id'";
//die($qry);
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result)>0) {
//query successful
$data=mysql_fetch_row($result);
$user_info= $data[0];
}
else{
$user_info ="invalid field";
}
}
else{
$user_info="invalid data";
}
return $user_info;
}
Если я запускаю функцию как эхо (get_user_info($user_id,'username')." ".get_user_info($user_id,'username'));
возвращает username invalid data
Для жизни меня я не могу понять, почему он не будет получать данные assocated с каждой строкой get_user_data
EDIT: кажется, умирает в $result=mysql_query($qry);
, которая возвращает неверное имя таблицы «»
EDIT2: Похоже, проблема заключалась в том, что я только в том числе конфигурационный файл один раз и использовать переменную для мое имя таблицы, которое становилось неуспешным, когда я пытался называть его второй раз.
EDIT 3: Вот конечная функция
//connect to database
if(file_exists('..config.php')){
include_once("../config.php");
}
function get_user_info($id,$field)
{
//get users table
global $user_table_name;
$qry= "SELECT `$field` FROM `$user_table` WHERE `id` ='$id'";
$result=mysql_query($qry) or die(mysql_error());
if($result) {
if(mysql_num_rows($result)>0) {
//query successful
$data=mysql_fetch_row($result);
$user_info= $data[0];
}
else{
$user_info =$qry;
}
}
else{
$user_info="invalid data";
}
return $user_info;
}
эхо-запрос, посмотрите, что он запустил, и если у вас есть сообщение об ошибке, echo mysql_errno ($ link). ":". mysql_error ($ link). "\ П"; –
Ошибка sql - это «недопустимая таблица» « – BandonRandon
так, это не настоящий код, который вы разместили здесь? –