0

以下に示すコードで 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.";

}

?>

これは私のフラッシュアプ​​リケーションによってトリガーされます。セッション ID 変数を使用せず、たとえば 4 を ID 値として使用する場合、これはうまく機能しますが、これにはセッション ID を使用する必要があります。これで何が起こっているのですか?

4

2 に答える 2

0

次のコードを使用する必要があります:-

//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 ;
于 2013-10-25T13:34:06.573 に答える