0

私は非常に単純な php ページを作成しようとしていますが、ここで何らかの問題が発生しています。ページは機能しますが、mysqlには何も来ません。送信を押すと、Insert into DrinkHistory(CustomerId,DrinkId,SellerId) values('1','3','2')Your Data Inserted. が出力されます。しかし、phpmyadmin にログインすると、DrinkHistory テーブルには何もありません。

コードは以下です

<?php
// Create connection
$con=mysqli_connect("localhost","******","*******","test");

// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Mene kotii ku et mitää osaa: " . mysqli_connect_error();
  }

// Insert Data

@$a=$_POST['CustomerId'];
@$b=$_POST['DrinkId'];
@$c=$_POST['SellerId'];
if(@$_POST['submit'])
{
echo $s="insert into DrinkHistory(CustomerId,DrinkId,SellerId) values('$a','$b','$c')";
echo "Your Data Inserted";
mysql_query($s);
}

?>


<center>
<form method="post">
<table width="100%" height="245" border="1" bgcolor="#00CCFF">
<tr><td width="112" height="26">Asiakas</td>
<td width="100"><input type="radio" name="CustomerId" value="1"/>Jokirinne Niko</td>
</tr>

<tr><td rowspan="2">Juoma</td>
<form method)="post">
<td height="28"><input type="radio" name="DrinkId" value="2"/>Kalja</td>
<td height="28"><input type="radio" name="DrinkId" value="3"/>Lonkero</td>
<td height="28"><input type="radio" name="DrinkId" value="4"/>Siideri</td>
<td height="28"><input type="radio" name="DrinkId" value="5"/>Fisu</td>
<td height="28"><input type="radio" name="DrinkId" value="6"/>Tequila</td>
<td height="26"><input type="radio" name="DrinkId" value="7"/>MustikkaShotti</td>
</tr>
<td height="33"></tr>


<tr><td rowspan="3">Myyjä</td>
<td><input type="radio" name="SellerId" value="1"/>Niko Jokirinne</td>
<tr>
<td><input type="radio" name="SellerId" value="2"/>Tanya Lickorish</td>
<tr>

<tr><td height="62"><input type="submit" name="submit" value="Juo"/></td></tr>
</table>
</form>
</center>
</body>
</html>
4

2 に答える 2

0

選択できるデータベース ライブラリはいくつかありますが、決定したら、その 1 つに固執する必要があります。新しい mysqli 拡張機能を使用して接続を開始することはできません:

$con=mysqli_connect("localhost","******","*******","test");

...そして、廃止された従来の関数を使用してデータベースにクエリを実行してみます。

mysql_query($s);

画面に露骨なエラー メッセージが表示されない場合は、開発ボックスでエラー メッセージを表示するように PHP を構成できていない可能性があります。先に進む前に、これを修正する必要があります。エラー メッセージの助けなしにコーディングすることは不可能です。ここに簡単な説明があります。

最後に、接続が失敗したかどうかを確認します。

if (mysqli_connect_errno($con))

...しかし、クエリが失敗したかどうかはテストしません。

于 2013-05-09T10:29:40.093 に答える
0

接続文字列 (mysqli_query の代わりに mysql_query を使用) とエラー検証を省略しているようです。これを試して:

<?php
// Create connection
$con=mysqli_connect("localhost","******","*******","test");

// Check connection
if (mysqli_connect_errno($con))
  {
  echo "Mene kotii ku et mitää osaa: " . mysqli_connect_error();
  }

// Insert Data

@$a=$_POST['CustomerId'];
@$b=$_POST['DrinkId'];
@$c=$_POST['SellerId'];
if(@$_POST['submit']) {
    echo $s = "insert into DrinkHistory(CustomerId,DrinkId,SellerId) values('$a','$b','$c')";
    if (mysqli_query($con, $s)) {
        echo "Your Data Inserted";
    } else {
        echo "Error inserting data: ".mysqli_error();
    }
}

?>
于 2013-05-09T10:30:06.957 に答える