-1

個々のユーザーの KID 番号を使用して、データベースにある種の長いテキスト (MSG1) を追加しています。K-ID として綴られています。これは、データベースへの登録および入力中に一意に生成され、ユーザーに割り当てられます。私は正常に動作しているいくつかの検証を含むmessages.phpファイルを持っています。同じテーブルに3つ以上の選択とデータベースへの追加があります。フィールドを選択することも、新しい行エントリを挿入することもありません。私は次のようなコードを書きました.MSG1 WHERE KID is equal to KID を選択したい. & データベースに登録するための新しい EMAIL、FNAME、LNAME、KID を追加 & MSG1,2,3,4 は後で追加されます。

私のテーブルCHAT:-

EMAIL
FNAME
LNAME
KID
MSG1
MSG2
MSG3
MSG4

私のmessages.phpファイル:

mysql_connect("host","user","password","database"); 
$query="SELECT FNAME,LNAME,KID FROM `CHAT` WHERE KID='$KIDA'";
mysql_real_escape_string($KIDA);     
while($row=mysql_fetch_assoc($query))
{ 
  $rows[1]=$row;
}
if($query)  
 if(!(empty($rows[1][MSG1]))) 
 { 
   echo     'Message From ';
   echo "<a><b>";
   echo $rows[1][FNAME]; echo " ";
   echo $rows[1][LNAME];
   echo "</  a></b>"; 
   echo   "<b>Message Recieved from  KID Number:- </b>"; 
   echo $rows[1][KID];


}
 mysql_connect("host","user","password","database"); 

 $SAS="SELECT MSG1 FROM `CHAT` WHERE KID='$KID'";
 mysql_real_escape_string($KID); 
 while($row=mysql_fetch_assoc($SAS))
 { 
   $rows[1]=$row;
 }
if($SAS) 
{
  echo"<br><b>";
  echo  $rows[1][MSG1]; 
  echo "</ b><br>"; 
  echo "<b>Your KID Number is</b> ".'$KID';   
} 
else 
{ 
  die('No messages');
}
?>

ここで、$KID は最初のユーザーがログインした KID 番号で、$KIDA は 2 番目のユーザーが KID 番号を含むメッセージをユーザー 1 に送信した 2 番目のユーザーの KID 番号です。私の最終的なエラー:- 1) PHP エラーが発生しています:- mysql_fetch_assoc(): 提供された引数は、有効な MySQL 結果リソースではありません。2) データベースからの追加または選択なし。3) データベースから複数の操作を行っています。より簡単/シンプルにする方法

あなたの提案は、何か新しいことを学ぶのに役立ちます。ご協力いただきありがとうございます。

4

2 に答える 2

1

お役に立てば幸いです

<?php
$connect = mysql_connect("host","user","password");
mysql_select_db("database",$connect);

$query="SELECT FNAME, LNAME, KID FROM CHAT WHERE KID='$KIDA'";
$result = mysql_query($query);     
if($row=mysql_fetch_array($result))
{ 
    echo     'Message From ';
    echo "<a><b>";
    echo $row["FNAME"]; echo " ";
    echo $row["LNAME"];
    echo "</  a></b>"; 
    echo   "<b>Message Recieved from  KID Number:- </b>"; 
    echo $row["KID"];
}

$SAS="SELECT MSG1 FROM `CHAT` WHERE KID='$KID'";
$result = mysql_query($SAS); 
$numRows = mysql_num_rows($result);
if($numRows>0) {
   while($row=mysql_fetch_array($result))
   { 
      echo"<br><b>";
      echo  $row["MSG1"]; 
      echo "</ b><br>"; 
      echo "<b>Your KID Number is</b> ".'$KID'; 
   }
} else {
  echo "no message"; 
}
?>
于 2013-09-01T16:29:26.657 に答える
0

これはうまくいくはずだと思います。

// Firstly, sanitise the input.
// This is a lot easier in PDO or mysqli_*
$KID = mysql_real_escape_string($KID); 

$SAS="SELECT MSG1 FROM `CHAT` WHERE KID='$KID'";

// run the query, or generate an error message
$rowset = mysql_query($SAS) or die(mysql_error());

// Check to see if there's an entry in the database
if ($row = mysql_fetch_assoc($rowset)) {
    echo"<br><b>";
    echo  $row['MSG1']; 
    echo "</b><br>"; 
    echo "<b>Your KID Number is</b> ".'$KID';   
} else { 
    die('No messages');
}
于 2013-09-01T16:24:27.923 に答える