2010-11-18 18 views
0

私には分かりませんが、間違っています...データベースに値を挿入するはずのPHPスクリプトがありますが、コードが...php:データベースに接続してデータの行を挿入

イム初心者にそれがハングアップするスクリプトのこの部分に当たる、私はオンラインチュートリアルを見て、しかしはっきりと私はImが間違っているのか理解していない...

// Make a MySQL Connection 
$link = mysql_connect("jdbc:mysql://mysqlx.server.net/MyDB", "MyUserName", "MyPassword"); 

//connect to my database 
$link.mysql_select_db("TalesDB"); 

//insert 
$link.mysql_query("INSERT INTO table (ID, name, comment) VALUES(" + 
        $_GET['Key'] + ", '" + 
        $("#leaveComment").find("input").val() + "', '" + 
        $("#leaveComment").find("textarea").val() + "') "); 

ことを私に注意してくださいスクリプトの前に$("#leaveComment").find("input").val()$("#leaveComment").find("textarea").val() + "') ");を使用してください。これらはテキストとして検証されます。

助けてください!私は間違って何を考えている?

+0

おそらくPHPとjavascriptが混在していますか? – Thilo

答えて

2

うわー、あなたは、あなたの謙虚なPHPインタープリタからあまりにも多くを期待しています。

プレーン接続リソースで.スタイルオブジェクトアクセスを混在させています。そしてjQueryも。

と他のオブジェクト指向のプラットフォームでPHPを混同し、確かにいない、ゼロからすべてのドキュメントを再確認してくださいあなたは

mysql_select_db("TalesDB", $link); 

を行う必要がありますたとえば、代わりの

$link.mysql_select_db("TalesDB"); 

(主に)クライアントサイドのもの!

0

あなたの問題は、サーバー側でjQuery経由でDOM要素にアクセスしようとしていることです。 サーバー側には、クライアントWebブラウザからサーバースクリプトに渡されるフォームパラメータを持つ$ _GETおよび/または$ _POST配列があります。

2

PHPを使用する必要がある場合は、JavaScriptを使用しています。

PHPはserver-side言語です。これは、HTMLが送信される前にPHPコードが実行されることを意味します。

JavaScriptはclient-side言語です。つまり、ページが送信された後にコードが実行されます。

3

はい、あなたはJavaSciptとPHPを混在させています。 2つは確実に一緒に動作しますが、このようにはなりません:)

JQueryまたはHTMLフォームを使用して、サーバーサイドスクリプトにデータを戻すことができます。これを行うには、JQueryのajaxメソッドまたはpostメソッドを使用できます。

は、その後、あなたのPHPスクリプトであなたは、DBのレコードを挿入するには、このような何かを行うことができます。私は接続してクエリを実行するために、PHP PDOを使用している

<?php 

$con = new PDO('mysql:dbname=test;host=127.0.0.1', 'username', 'password'); 

$stmt = $con->prepare('INSERT INTO `table` (`id`, `name`, `comment`) 
    VALUES (:id, :name, :comment)'); 

$stmt->bindParam(:id, $_POST['id']); 
$stmt->bindParam(:name, $_POST['name']); 
$stmt->bindParam(:comment, $_POST['comment']); 

$result = $stmt->execute(); 

?> 

。 mysql_queryを使用することをお勧めします。これは、プリペアドステートメントのセキュリティ上の利点のためです。詳細については、PDOのドキュメントページをご覧ください。

注意すべき重要な点は、ドル記号$がJQueryとPHPで異なる目的で使用されていることです。 JQueryでは、JQueryオブジェクトの省略形であり、要素選択を簡単に実行できます。 PHPでは、ユーザ宣言された変数を識別するために使用されます。

関連する問題