我有这个奇怪的问题,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
非常感谢任何建议!
答案 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”,这就是我不喜欢的原因!
非常感谢!