-1

ここで大きな問題が発生しています。データをデータベースにアップロードしようとしていますが、アップロードされない理由がまったくわかりません。

これは、PHP にデータを送信するための HTML フォームです。(こちらは全く問題ないはずです)

<form method="post" action="uploadinfo.php">
 <div style="width:542px;height:129px;margin-left:45px;margin-top:102px">
  <textarea name="stufftoupload" placeholder="Write your stuff here" rows="8" cols="65"></textarea>
 </div>
 <div style="width:95px;height:29px;margin-left:489px;margin-top:22px">
  <input type="image" src="myimg.png">
 </div>
</form>

そして、これはデータベースにアップロードする私の PHP です。ここに問題があるはずですが、それが何であるかはわかりません。いくつかの解決策を試しましたが、何も機能していません。

<?php

 session_start();

 $db = mysql_connect("host","db","pass");
 if(!$db) die("Error");
 mysql_select_db("table",$db);

 $email = $_SESSION['email'];
 $stuff = $_POST['stuff'];

 if (!$stuff)
 {
  echo "<script type='text/javascript'>window.alert('Fill all the blanks.')</script>"; 
  $url = 'upload.php';
  echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">'; 
 }
 else
 {
  $url = 'success.php';
  echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL='.$url.'">';    
 }

 mysql_query('SET NAMES utf8');

 $sql = "SELECT * FROM table WHERE email = '$email'";
 $result = mysqli_query($db,$sql);

 mysqli_fetch_all($result,MYSQLI_ASSOC);

 $sql = "INSERT INTO table SET stuff = '$stuff'" or die(mysql_error());

 $result = mysql_query($sql);

?>

これはそれについてです。私はそれがこのコード内の何かであるとほぼ確信していますが、完全にはわかりませんが、セッション管理が悪い可能性があります。

とにかく、助けてくれてありがとう。それは完全に高く評価されます。

4

2 に答える 2

0

$dbmysql メソッドを使用してデータベースに接続していますが、mysqli メソッドに基づいてクエリを実行しています。何が起こっているのかを理解するために、ここで行う必要があることが 2 つあります。まず、すべてのmysql_呼び出しをmysqli_呼び出しに変更し、エラー レポートを追加します (たとえば、or die (mysqli_error($db);クエリを実行するすべての行の末尾に追加するなど)。正しい方向に進む必要があります。

ここでの最初の明らかな問題は、mysql_connect を使用して DB に接続した後、mysqli を使用してその接続をクエリしようとしていることです。両方ではなく、どちらかを使用してください。

また、SQL クエリはINSERT INTO table (stuff) VALUES ($stuff)INSERT INTO table SET stuff = '$stuff'

于 2013-07-12T00:23:32.753 に答える