2016-07-30 4 views
-1

こんにちは、私は挿入ステートメントを使用してデータベースにデータを挿入しようとしています。基本的には、ユーザーがフォームにデータを入力した後、送信ボタンをクリックすると、テーブルプロパティのproperty_idが取得されます。 私のコードはこれです:SQLステートメントエラーを挿入します。

は基本的に上記のコードは、その個々のプロパティのすべてのデータを表示する
<?php 

include_once '../db/dbconnect.php'; 

$id = intval($_GET['id']); 
$sql = 'SELECT* FROM property WHERE property_id="'.$id.'"'; 
$result = mysqli_query($mysqli, $sql); 

$row=mysqli_fetch_array($result); 

?> 

:ページの上部に

<?php 
$id = intval($_GET['id']); 
$query = mysql_query('SELECT * FROM review WHERE property_id="'.$id.'"'); 

if(isset($_POST['submit'])) 
{ 
$review = mysqli_real_escape_string($mysqli, $_POST['review']); 


if(mysqli_query($mysqli, "INSERT INTO review(review) VALUES ('$review')")) 
    { 
    ?> 
     <script>alert('Successfully Updated ');</script> 
     <?php 
} 
else 
{ 
    ?> 
     <script>alert('Error...');</script> 
     <?php 
} 


} 
?> 

続くようである私の他のコードがあります。どんな助けも素晴らしいだろう。

+0

') "レビューINTO(レビュー)VALUES( '$レビューを')INSERT")'この行では、あなたは連結演算子を必要としない '.' $'を中心に'INSERT'文を作成するために' review'を実行しますか? –

+0

@JonathonOgden連結オペレータとは何ですか? – Josh

+0

'.'は; 'WHERE property_id =" '。$ id。' "'' '$ id'の両端に' .'があることに注意してください。これは '$ id'をあなたの 'SELECT'に追加します。もしあなたが有効なSQL文を作ることを期待しているならば、 '$ review'を使って同じことをする必要があります。 –

答えて

0

は、あなたのコード内のいくつかのエラーをあります

$id = intval($_GET['id']); 
$query = mysql_query('SELECT * FROM review WHERE property_id="'.$id.'"'); 

mysql_*機能はPHP 5では非推奨とし、完全にそれらを使用しないでくださいPHP 7で削除されます!
また、mysql_*mysqli_*の機能を併用することはできません。
さらに別のエラー:SELECTクエリを実行していますが、決して結果を取得できません。
$idを連結する必要はありません。それは、無用な一重引用符や二重引用符をたくさん読んでコードを読みにくくし、誤字の可能性を増やします。 Just enclose the variables in a double-quoted string
$idをint値にキャストしています。フィールドproperty_idが整数の場合は、照会の中で一重引用符を使用して$idを置く必要はありません。

更新スニペット

$id = intval($_GET['id']); 
$query = mysqli_query($mysqli, "SELECT * FROM review WHERE property_id=$id") or die(mysqli_error($mysqli)); 
while($r = $query->fetch_assoc()) { 
    // do something here with the current record $r 
} 

あなたのコード

開発するとき、あなたが表示(またはログ・ファイルに書き込む)必要があります
if(mysqli_query($mysqli, "INSERT INTO review(review) VALUES ('$review')")) 
[...] 
<script>alert('Error...');</script> 

失敗した各クエリからMySQLのエラーメッセージ。それははるかに簡単にデバッグを行います:

<script>alert('Error: <?= mysqli_error($mysqli) ?>');</script> 
関連する問題