2012-05-08 14 views
-3

私はPHPとSQLスクリプトに慣れていないので、これはおそらくわかりにくい簡単な修正です。私はそれの下に資産テーブルを持つInventoryControlと呼ばれるデータベースを持っています。私はPHPフォームがMySQLデータベースに投稿されていません

<?php 
echo "PHP TEST!"; 
echo $_POST["assettag"]; 
$con=mysql_connect("localhost","sampleuser","samplepass"); 
if (!$con) 
    { 
    echo "CONNECTION FAILED!"; 
    die('Could not connect: ' . mysql_error()); 
    } 
echo "I succeeded!"; 
mysql_select_db("InventoryControl", $con); 

$sql="INSERT INTO assets (asset_tag, manufacturer, model, type, location, decomissioned, employee_owner, computer_name, price, day, month, yea$ 
VALUES 
('$_POST[assettag]', asdf, asdf, asdf, 0, 0, asdf, asdf, 0, 0, 0, 0)"; 
echo "Posted!"; 
if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    echo "I didn't work"; 
    } 
echo "1 record added"; 

mysql_close($con); 


?> 

:テスト目的のために、私はPHPとSQLの周りに私の方法を把握することができますので、私は単一のフォームで非常に簡単なWebページを持っていた:

<form action="insertasset.php" method="post"> 
Asset Tag: <input type="text" name="assettag" /> 
<input type="submit" /> 
</form> 

に提出し、それがこのPHPスクリプトをロードします私はPHPスクリプトを実行して得た唯一の応答の問題に悩まされています。 "PHP TEST!"私は以前のフォームから投稿したばかりの情報です。だから、私はそれがPHPスクリプトを読み込んでいることを知っている、それはフォームからデータを投稿しているが、私はテーブルにそれを取得することはできません。テーブルには、私が知っている限り、列を埋めるための要件はありません(私はかなり基本的なパラメータ、asset_tagは主キー、そうでなければデータを保持する列)。初心者に何か助けてもらえれば大いに感謝します。

mysql_query("...") or die(mysql_error()); 

エラーが表示されますその方法:あなたがするmysql_query()関数を使用している場合

+1

ストップ廃止予定の 'mysql_ *'拡張し、[より適切なMySQLのAPIを選択](http://us3.php.net/manual/en/mysqlinfo.api.choosing.php) – cspray

+1

あなたの文字列を使用して'asdf'はVALUESリストの中で' 'asdf ''として引用されなければなりません –

+0

ところで、$ sql = ...の行はわかります。私はパテからコピーして貼り付けを試みたので、すべてのテキストを取得 –

答えて

1

このようにそれを使用しています。

問題が発生したら、INSERT INTO文で値を一重引用符で囲む必要があります。

ただし、単一引用符の列名を使用することもできます。列名は、「注文」などの特殊なキーワードにすることがあります。

mysql_error()を使用すると、エラーの詳細がより明確にわかります。

+0

私はmysql_error()関数が返すものを見ることができたらいいと思うが、残念ながら私はecho "PHP TEST!" "$ _POST [" assettag "] –

+1

mysql_select_dbとmysql_connectも同じものを入れてください。 –

+0

サーバのエラーログを見て、そこに何かがあるかどうか確認しましたか? – andrewsi

0
$asset=$_POST['assettag']; 
$sql="INSERT INTO assets VALUES ('".$asset."', 'asdf', 'asdf', 'asdf', 0, 0, 'asdf', 'asdf', 0, 0, 0, 0)"; 
echo "Posted!"; 
if (!mysql_query($sql)) 
{ 
die('Error: ' . mysql_error()); 
echo "I didn't work"; 
} 
関連する問題