-1

以下は、いくつかのステートメントを出力しようとしているPHPコードです。ただし、次のエラーを出力するだけです。

解析エラー:構文エラー、8行目のC:\ Program Files \ Apache Group \ Apache2 \ htdocs\chat_status.phpの予期しないT_STRING

コード:

<?php
session_start();
$con=mysql_connect("localhost","hi","hello");
mysql_select_db("my_db",$con);
$check_table=mysql_query("SELECT * FROM `$row[studentid]"."to"."$_GET[id]`);
if($check_table!=FALSE)
{
$asd="no suggestion";
echo $asd;
}
else
{
$result1=mysql_query("SELECT * FROM students WHERE email='$_SESSION[user_name]'");
$row=mysql_fetch_array($result1);
$create_table="CREATE TABLE `$row[studentid]"."to"."$_GET[id]`(post_number int not null 
auto_increment,primary key(post_number),data text(20000))";
$result=mysql_query($create_table,$con);
}

?>
4

2 に答える 2

0

次の行を次のように変更します。

$check_table=mysql_query("SELECT * FROM `$row[studentid]"."to"."$_GET[id]`");

終わりに注意してください"

@ jamie0726からのコメントにも注意してください(ありがとう):

いかなる状況でも、クエリで$_GETを使用しないでください。これは重大なセキュリティミスです(SQLインジェクション、たとえばコードを使用してデータベースを削除するのは非常に簡単です)。これは簡単に回避できます。チェックアウト

于 2013-03-26T20:26:53.477 に答える
0

これを試して

    <?php
 session_start();
 $con=mysql_connect("localhost","hi","hello");
 mysql_select_db("my_db",$con);
 $check_table=mysql_query("SELECT * FROM '$row[studentid]'.'to'.'$_GET[id]' ");
 if($check_table!=FALSE)
 {
 $asd="no suggestion";
 echo $asd;
 }
 else
 {
$result1=mysql_query("SELECT * FROM students WHERE email='$_SESSION[user_name]'");
$row=mysql_fetch_array($result1);
$create_table="CREATE TABLE '$row[studentid]'.'to'.'$_GET[id]' (post_number int not  null 
 auto_increment,primary key(post_number),data text(20000))";
 $result=mysql_query($create_table,$con);
 }

 ?>
于 2013-03-26T20:28:53.880 に答える