显示MySQL查询的内容,只有第一场作品
我使用的mysqli prepard查询使用PHP,代码:显示MySQL查询的内容,只有第一场作品
$retreiveQuery = 'SELECT username, firstname, lastname FROM USERS WHERE username = ?';
if ($getRecords = $con->prepare($retreiveQuery)) {
$getRecords->bind_param("s", $username);
$getRecords->execute();
$getRecords->bind_result($username, $firstname, $lastname);
echo "<h1>".$username."</h1>
<p><strong>First Name: </strong>".$firstname."
<p><strong>Surname: </strong>".$lastname."
} else {
print_r($con->error);
这是很奇怪的。用户名是唯一显示的字段。为什么其他栏不会被退回/装订?
如果我做
SELECT username, firstname, lastname FROM USERS WHERE username = 'test';
直接到数据库,将显示所有领域,所有包含有效数据。
你必须调用
$getRecords->fetch();
bind_result()
后,实际获得的记录。
正在输出用户名,因为您已将其设置为输入参数。
如果您使用不同的变量名称输出用户名,会发生什么情况?像这样:
SELECT username as user_name,firstname,lastname FROM USERS WHERE username ='test';
然后
$ getRecords-> bind_result($ USER_NAME,$姓名,$姓氏);
我想知道是否因输入和输出使用相同名称而感到困惑?
我还没有运行这个,但我注意到,你正在使用相同的变量,$ username的绑定参数和绑定结果变量。
可能是结果没有返回任何结果,但是$ username有一个显示的值,因为您事先分配了它,而不是它来自数据库。
尝试使用不同的变量,如$ param_user和$ result_user,看看会发生什么。我的猜测是没有结果会返回,这将指向查询或结果绑定的问题。
是的,这是答案。那么结果绑定会出现什么问题?我如何检查这个问题? – 2009-04-08 21:13:24
ok ..所以这是一个与结果绑定的问题,我猜...但如何知道它是什么? – 2009-04-08 21:15:00