2011-08-15 9 views
0

私は困惑しています。私はスクリプトを実行しますが、エラーは表示されませんが、データはDBに挿入されません。問題上の任意のコメントをいただければ幸いですmysql_connect() - 動作していない、おそらく小さなエラーですが、それが何であるか把握できません。

include("db_con.php"); 
$conn = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error()); 
mysql_select_db($db_name) or die(mysql_error()); 

for ($i = 1; $i <= 5; $i++) { 
    $urls[$i] = mysql_real_escape_string($_POST['url_' . $i]); 
    $names[$i] = !empty($_POST['name_' . $i]) ? mysql_real_escape_string($_POST['name_' . $i]) : mysql_real_escape_string($_POST['url_' . $i]); 
} 

$query = "SELECT * FROM multi_url"; 

$result = mysql_query($query) or die(mysql_error()); 
$num_rows = mysql_num_rows($result); 
$page_id = $num_rows++; 

$query2 = "INSERT INTO multi_url (page_id, url_1, url_2, url_3, url_4, url_5, name_1, name_2, name_3, name_4, name_5) values ($page_id, $urls[1], $urls[2], $urls[3], $urls[4], $urls[5], $names[1], $names[2], $names[3], $names[4], $names[5])"; 

mysql_close($conn); 

は、ここに私のコードです。問題がある場合は、die(mysql_error())からエラーが発生すると思います。

答えて

1

INSERTクエリをデータベースに送信しないでください。 SQLを$query2という変数に入れます。

文字列のいずれも引用符で囲まれていないため、このクエリは失敗します。

+0

Danさん、私は文字列を引用符で囲む必要があることを完全に忘れていました。あなたは本当に私にとって大きな助けとなり、常に私の質問に大きなフィードバックを与えてくれました! – Avicinnian

+1

これは正規化されたデータベーススキーマではありません。 page_idを外部キーとして持つ2番目のテーブルを使用して、1対多の関係(1ページ、0〜Nの名前/ URL)をモデル化します。関連する名前/ URLごとに1行を挿入します。同一の列がある場合は、間違っている可能性があります。 –

+0

どうすれば1つのpage_idを5行のデータに一致させることができますか?私はurl /名前(この場合は5回以上)と同じ行にpage_idを配置し、同じpage_idを持つすべての行を検索すると思っていただろうが、2番目のテーブルを述べた? – Avicinnian

関連する問題