我在下面所示的代码中使用PHP / MySQL的Where子句时遇到了一个小问题:
<?php
$con=mysqli_connect("host","username","password","database");
//Note that I have replaced my parametres just for this question
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//Request Session ID
$id = $_SESSION['uid'];
echo "Session ID = ' . $id;
echo "<br>";
//Request Username
echo "Username = " . mysqli_query($con,"SELECT username FROM 'users' WHERE id = 4");
?>
输出为(在我单独的登录页面上登录后):
会话ID = 4
用户名=
因此很明显,where子句存在问题。据我所知,连接参数没有问题。当我在PHPmyadmin中运行MySQL命令时,会得到“ Admin”的预期结果。我的输入正确命名。
我不知道是什么原因造成的,并且在论坛上找不到任何类似的问题。任何帮助,将不胜感激。谢谢。
更新
我改编了以下答案以编写此代码:
<?php
// Only run this script if the sendRequest is from my flash application
if ($_POST['sendRequest'] == "parse") {
//conection:
$con=mysqli_connect("mysqlXX.000webhost.com","a4935911_***","***","a4935911_***");
$id = $_SESSION['uid'];
$getuname = mysqli_fetch_assoc(mysqli_query($con, "SELECT username FROM users WHERE id = $id"));
$uname = $getuname ['username'];
// Print 1 var to flash
print "var1=The username of this user is $uname.";
}
?>
这是由我的Flash应用程序触发的。如果我不使用会话ID变量,而仅使用例如4作为我的ID值,则可以正常工作,但是我需要为此使用会话ID。有什么想法吗?
您应该使用以下代码:
//conection:
$con=mysqli_connect("host","username","password","database");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$getuname = mysqli_fetch_assoc(mysqli_query($con, "SELECT username FROM users WHERE id = 4"));
$username = $getuname ['username'];
//Request Username
echo "Username = " .$username ;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句