SQL データをプルしようとしています。ユーザーのログインはユーザー名ですが、それを他のユーザーに表示したくありません。したがって、私が定義したナイスネームです。これは、ユーザーのログイン情報とは関係のない別の表示名です。メッセージを送信しようとすると、送信者フィールドに表示名を表示する必要があります。from フィールドのクエリを介してデータが送信されない理由を知っている人はいますか?
<?php
$link = mysqli_connect("$server", "$user", "$pass", "$webdb");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT nicename FROM user WHERE name=$_SESSION['admin_login']";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$display_name = $row['nicename'];
{
echo '<input name="from" type="hidden" value="' .$display_name.'">';
}
mysqli_free_result($result);
mysqli_close($link);
?>
さて、クエリを実行し、表示名変数を修正しました。私が受け取ったクエリ。
INSERT INTO messages (`owner`, `from`, `content`, `date`, `title`) VALUES ('Morgan', '', 'Query', 'Oct/16/2012', 'Testing The ')
From 変数にはまだ何も表示されていません。私は自分のサイトにデバッグページを追加し、そこでクエリを次のように入力しました
$query = "SELECT nicename FROM user WHERE username=$_SESSION[admin_login]";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
次に、クエリをエコーし、$row[nicename] もエコーしました。ページに返された場所: SELECT nicename FROM user WHERE username= * *<-- ユーザー名を追加しました。ただし、 $row[nicename] のエコーは、ページに結果を返しません。
{
echo $query;//<--Returns Query with the correct login variable.
echo '<br>';
echo $row['nicename'];//<--Returns no info.
}