PHP检索数据问题

时间:2009-04-29 04:56:31

标签: php mysql

我有这个奇怪的问题,PHP5没有从MySql数据库中检索int。这是我的代码:

$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:

用户名:Carlo

非常感谢任何建议!

4 个答案:

答案 0 :(得分:1)

看一下这个数组 - 你可能在那里找到了一个拼写错误或错误大写的词:

print_r($row);

这将显示所有键和值。

答案 1 :(得分:1)

尝试这样做:

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

var_dump($row['UserId']);

并将输出粘贴到此处。

答案 2 :(得分:0)

您的连接字符串错误,您还需要一个select db命令:

$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

答案 3 :(得分:0)

完美!这有效,我确实有一个错误的词,它是UserID而不是UserId。我通常将我在数据库中的ID字段命名为“SomethingId”,这就是我不喜欢的原因!

非常感谢!