我有这段代码,但它没有按预期插入$ _SESSION [' steamid']的值。高于if
语句的所有内容似乎都有效,因为如果我在if
语句中添加了其他内容(测试行),它就会执行。
$link = mysqli_connect($db_host, $db_user, $db_passwd, $db_dbase);
$query = mysqli_query($link, "SELECT * FROM users WHERE steamid='".$_SESSION['steamid']."'");
if (mysqli_num_rows($query) == 0) {
mysqli_query($link, "INSERT INTO `users`(`steamid`) VALUES (".$_SESSION['steamid'].")");
}
答案 0 :(得分:1)
你想念这个价值的引用,我想:
$link = mysqli_connect($db_host, $db_user, $db_passwd, $db_dbase);
$query = mysqli_query($link, "SELECT * FROM users WHERE steamid='".$_SESSION['steamid']."'");
if (mysqli_num_rows($query) == 0) {
mysqli_query($link, "INSERT INTO `users`(`steamid`) VALUES ('".$_SESSION['steamid']."')");
}
答案 1 :(得分:0)
您的用户表最有可能包含更多必需字段,然后加油。
在您的数据库上手动运行查询,响应将告诉您某些字段缺失。
只是插入像那样的蒸汽不是很有意义。 我猜你想要做这样的事情。
$steamid = mysqli_real_escape_string($_SESSION['steamid']);
mysqli_query($link, 'INSERT INTO users (userid, steamid, <other required fields>) VALUES ("'.$userid.'", "'.$steamid.'", <other required fields>);"
总是逃避你的价值观,让sql注入开放的东西会产生很多错误。