私は mysql に私の PhP 変数を認識させようとしてきましたが、今のところうまくいきません。
コード:
...connect to db...
session_start();
//Calls up Session stored variable
$currentUsr= $_SESSION['username'];
//SQL Query
$sql= 'SELECT Users.Username, books.* FROM Users
INNER JOIN UserLinkBooks lb
ON Users.Username = lb.Username
INNER JOIN Books
ON lb.bkTitle = books.Title
WHERE Users.Username = "$currentUsr"';
$result=mysqli_query($conn,$sql);
//Error Check
if (!$result) {
printf("Error: %s\n", mysqli_error($conn));
exit();}
//display row
while($row=mysqli_fetch_array($result)){
echo "<strong>".$row['Title']."</strong>".$row['Description']."</br>";}
私の問題は、 $currentUsr が渡されたユーザー名を適切に呼び出していないことです。エラーチェックを行った後、空のようです。
私が理解していないのは、コードを使用するときです:
$sql = "SELECT * FROM Users WHERE `Username`='$currentUsr'";
変数が処理されて正常に動作し、書籍のタイトルと説明が完全に呼び出されます。また、手動で次のように入力した場合: WHERE Users.UserName = "Bill"'; それは正常に動作します。
さまざまな試みから得た他のエラーのいくつかは次のとおりです。
WHERE Users.UserName = '.'$currentUsr';
Error: Unknown column '$currentUsr' in 'where clause'
また
WHERE Users.UserName = '.$currentUsr;
Error: Unknown column 'Bill' in 'where clause'
どんな助けでも大歓迎です。ありがとう