2009-04-29 2 views
0

У меня есть эта странная проблема, когда PHP5 не извлекает int из базы данных MySql. Это код у меня есть:PHP Получение информации о данных

$db = mysql_connect('XX.XX.XX.XX', 'DBName', 'DBPwd'); 
$query = 'Select * FROM Users WHERE UserName = \'Carlo\''; 
$result = mysql_query($query); 

if(!$result) 
{ 
    echo 'Could not successfuly run query: '.mysql_error(); 
    exit; 
} 

if(mysql_num_rows($result) == 0) 
{ 
    echo '0 results'; 
} 

$row = mysql_fetch_assoc($result); 

echo 'UserId: '.$row['UserId']; // THIS IS THE INT VALUE FROM THE DATABASE 

echo 'UserName: '.$row['UserName']; // THIS IS A STRING VALUE FROM THE DATABASE 

mysql_close($db); 

код выводит:

UserId:

UserName: Carlo

Любое предложение очень ценится!

ответ

1

Взгляните на массив - вы, вероятно, получил опечатка или неправильно капитализированные слово где-то там:

print_r($row); 

Это покажет вам все ключи и значения.

1

Попробуйте сделать это:

var_dump(array_key_exists('UserId', $row)); 

и

var_dump($row['UserId']); 

и вставьте выходные здесь.

0

Ты строка соединения является неправильным, и вы также должны выберите команду дб:

$db = mysql_connect('XX.XX.XX.XX', 'user', 'DBPwd'); 
if ($db === false) { 
    trigger_error('Failed to connect to database', E_USER_ERROR); 
    echo 'Unable to connect to database. Please come again later.'; 
    exit; 
} 

if (!mysql_select_db('db_name', $db)) { 
    trigger_error('Failed to selected database', E_USER_ERROR); 
    echo 'Unable to connect to database. Please come again later.'; 
    exit; 
} 

Кроме того, проверьте, чтобы убедиться, что вы таблицу в качестве столбца UserId.

0

Отлично! Это сработало, у меня было неправильное заглавное слово, это был UserID вместо UserId. Обычно я называю свои поля ID в базах данных «SomethingId», поэтому я даже не думал об этом!

Большое спасибо!

+2

Тогда вам нужно будет принять ответ, а вместо этого ответьте вместо ответа на свой вопрос. –

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