ホームページ >バックエンド開発 >PHPチュートリアル >PHP POST アップロード、アップロードされた文字列を読み取ることができません
WebClient クラス http://1.liuruitao.sinaapp.com/test.php?name={0} を使用してローカル C# で記述され、この URL を通じてアップロードされた Web ページ
if($_SERVER['REQUEST_METHOD']= ="POST")
{
// $s=json_encode($_post)
$s=$_GET["name"];
echo "hello world!!"
echo $_POST["name"];
$conn=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if(!$conn)
die("接続失敗".mysql_error());
mysq l_select_db('app_liuruitao',$conn); ;
$sql = "$db 値に挿入 ('3344556677',$s,3,'4',5,'6','7','8','9')"; $sql, $conn);// SQL ステートメントを使用してデータを挿入します
mysql_close();// MySQL 接続を閉じます
echo "insert success";
}
アップロードされた名前の文字列を正しく取得できず、データベースに挿入できません、助けてください
ディスカッションに返信 (解決策)
値を取得または挿入できませんか? 値を取得したように感じますが、それがデータベースに挿入できないようです。
echo $_POST["name"]; が print_r に変更されました。 ($_REQUEST); 試してみません。コードは他人のサーバーにあります。
http://1.liuruitao.sinaapp.com/test.php? {0}
明らかに、名前は $_GET 配列から取得する必要があります$s =$_GET["name"];
$sql = "$db 値に挿入 ('3344556677',$s,3,' 4',5,'6','7','8','9 ')";
問題はここにあると思います
一般に、テーブルを作成するとき、唯一の主キーとしてフィールドがあり、主キーに繰り返しの値を割り当てることはできません。そうしないと、一意ではなくなります。
主キーが自動インクリメントの場合、デフォルトのフィールドリストが間違っている可能性があります
http://1.liuruitao.sinaapp.com/ test.php?name={0}
明らかに、名前は $_GET 配列から取得する必要があります
$sql = "$db 値に挿入します ('3344556677', $s,3,'4',5,'6','7','8','9')";
問題はここにあると思います
一般 テーブルを作成するときに、... [ /quote クライアントが送信するとき、POST を使用して送信しますか? それとも GET を使用しますか?
http://1.liuruitao.sinaapp.com/test.php?name={0}
明らかに、name は次のようにする必要があります。 $_GET 配列から取得
$s=$_GET["name"];
問題はここにあると思います
一般にテーブルを作成するとき、...
クライアントは送信に POST を使用しますか、それとも GET を使用して送信しますか?受信する
URLに記述する URLに記述する場合は$_GETを使用する
$_POST POSTメソッドで渡されるデータのみを取得する(ファイルのアップロードを除く)
URLに記述する場合は$_GETを使用する
Get への変更も機能しません。毎回値を変更してから挿入すると、重複した主キーがありません。 s=$_GET["name"];
echo $s;
exit(); ;
このような出力はありますか?
いいえ、プログラムはこのページをリクエストするときにのみジャンプして読み取ります
$sql = "$db 値に挿入 ('3344556677', $s,3,'4',5,'6','7','8','9')"; value がない場合、実際に実行される SQL コマンドは
テーブル名の値に挿入されます ('3344556677',,3,'4',5,'6','7','8','9')
明らかに間違っています
この状況が存在するかどうかは、
mysql_query($sql,$conn) または die(mysql_error()) を通じて知ることができます
さらに、
$sql = "$db 値に挿入 ('3344556677',$) s,3,'4 ',5,'6','7','8','9')";
は
$sql = "$db 値に挿入 ('3344556677', '$s',3,'4' ,5,'6','7','8','9')";
事故を避けるために
$s=$_GET["name"];
exit();
このような出力はありますか?
データベースに保存されている sizeof($s) は 1 です
$sql = "$db 値に挿入します ('3344556677',$s) ,3,'4',5,'6','7 ','8','9')";
テーブル名の値に挿入されます ( '3344556677',,3,'4',5,'6', '7','8','9')
明らかに間違っています
パスしても構いません
mysql_quer...
さて、私はあなたが言及した 2 つの質問について、sizeof($s) を使用して結果をデータベースに保存します。結果は 1 です。ここから、問題が何であるかがわかります
送信された文字列はローカル サーバーで正しく取得できます。でも新浪には置けません…どうやら彼らのプラットフォームにすべきらしいです いくつかルールがあります…