MySql似乎返回了错误的结果,我不知道为什么(对mysql是新的,所以它可能很明显,但我找不到答案)
home.php:
$testUID = query("SELECT `uid` FROM `userid` WHERE `session_id` = '".$_COOKIE['phpAuth']."'",$link);
echo $testUID;
$_COOKIE['phpAuth']
为“ABCD”时回响“1”
但MySQL userid
表看起来像这样(显然测试值)所以肯定它应该返回0?
name | pass | csrf | uid | session_id
-------------------------------------------
admin | password | ABCD | 0 | ABCD
对不起,我完全忘记了query()是我自己的函数而且($link
是数据库的连接)
function query($request,$link) {
return mysqli_query($link,$request)or die(mysqli_error($link));
}
编辑:
简化,
echo mysqli_fetch_assoc(mysqli_query(mysqli_connect("localhost", "root", "", "testdb"),"SELECT `uid` FROM `userid` WHERE `session_id` = 'ABCD'"))['uid'];
完美的工作,但就我目前的流程而言,我并没有任何不同,所以我更加困惑。
echo mysqli_fetch_assoc($testuid)['uid'];
不适用于错误
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result,
boolean given in C:\xampp\htdocs\Home.php on line 37
对任何有兴趣的人,改变
function query($request,$link) {
return mysqli_query($link,$request)or die(mysqli_error($link));
}
至
function query($request,$link) {
return mysqli_query($link,$request);// or die(mysqli_error($link));
}
完全解决错误