【问题标题】:MYSQLI SELECT * FROM users WHERE steamid = $steamid Does not workMYSQLI SELECT * FROM users WHERE steamid = $steamid 不起作用
【发布时间】:2017-01-07 02:10:39
【问题描述】:
THE SQL WHERE funtion does not work!

我尝试了所有方法,但这段代码不起作用, 请帮帮我。

我想重建 steamcompanion.com。

<?php
include 'SteamAuth/SteamConfig.php';
echo 'db.php connected;
$fruit1 = "localhost";
$fruit2 = "";
$fruit3 = "";
$fruit4 = "";

$conn = new mysqli($fruit1, $fruit2, $fruit3, $fruit4);

$steamid = $steamprofile['steamid'];
$sql = "SELECT * FROM users WHERE steamid = '$steamid'"; //DOES NOT WORK //$sql = "SELECT * FROM users WHERE steamid = $steamid"; does not work too!

if ($conn->query($sql) === TRUE) {
    echo '<meta http-equiv="refresh" content="0; URL=http://mynameisflare.rf.gd/">YOU ARE LOGGEDIN!!';
	exit;
} else {
$profileurl = $steamprofile['profileurl'];
$avatarmed = $steamprofile['avatarmedium'];
$avatarfull = $steamprofile['avatarfull'];
$peronaname = $steamprofile['personaname'];
$realname = $steamprofile['realname'];
$sql = "INSERT INTO users (id, name, email, profileurl, avatarmedium, avatarfull, steamid, realname, makes, wins)
VALUES ('', '$peronaname', 'PLEASE PROVIDE A EMAIL!', '$profileurl', '$avatarmed', '$avatarfull', '$steamid', '$realname', '0', '0')";

if ($conn->query($sql) === TRUE) {
    echo '<meta http-equiv="refresh" content="0; URL=http://mynameisflare.rf.gd/">REDIRECTING YOU!';
	exit;
}
}

$conn->close();
?>

SQL WHERE 函数不起作用!

echo $sql 的结果,SELECT * FROM users WHERE steamid = 76561198173691810

【问题讨论】:

  • echo $sql; 这说明了什么? $steamprofile 定义在哪里?
  • $steamprofile 需要包含在单引号中 - '$steamprofile'
  • 我们不知道$steamprofile 来自哪里,也不知道您发布的是完整/实际代码,因为语法突出显示会在echo 'db.php connected; 中引发错误。简而言之;检查错误,你没有这样做。
  • “不起作用”不是问题陈述。

标签: php mysqli steam


【解决方案1】:

首先检查您的连接。更多详情http://php.net/manual/en/mysqli.affected-rows.php

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

如果 steamid 是数字列,则不需要对这个数字使用单引号。

现在通过echo $sql 检查您的 $steamid 是否收到号码。

对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,mysqli_query() 将返回一个 mysqli_result 对象,而不是布尔值。但是您正在检查===,这意味着返回值是不正确的布尔值。

希望您可以通过这些方式进行故障排除。

【讨论】:

    猜你喜欢
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    • 2015-09-25
    • 1970-01-01
    • 2012-10-20
    相关资源
    最近更新 更多