0

属性に基づいて、HTML ページから MySQL データベースにデータを追加するにはどうすればよいですか?

すでにスクレイピングされたデータですが、リンクをテーブルの特定のフィールドにインポートし、それらからいくつかのものを削除し(うまくいきません)、別のものをテーブルの別のフィールドに削除したいと思います。

PHP/MySQL と Linux があります。curl を使用する必要がありますか? また、使用する場合、実際に MySQL DB にデータを追加するにはどうすればよいですか?

4

2 に答える 2

1

データを挿入および更新するためのPHPの例:

//***************************************   
// Connect to database
//
mysql_connect('127.0.0.1','MyUserName','MyPassword',false,MYSQL_CLIENT_SSL|MYSQL_CLIENT_COMPRESS);
mysql_select_db('MyDatabase');

// If you work with UTF-8 it would be a good idea to set the character set as well to be sure.
//mysql_set_charset('utf8_general_ci');

//***************************************   
// Insert new data
//
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/product/");
$Result = mysql_query("INSERT INTO ProductTable (URLField) VALUES ('".$MyURL."')");
if($Result)
 print mysql_affected_rows();

//***************************************   
// Update existing data
//
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/newproduct/");
$RecordID = 123;
$Result = mysql_query("UPDATE ProductTable SET URLField='".$MyURL."' WHERE ID=".$RecordID);
if($Result)
 print mysql_affected_rows();

mysql_connect()を使用してMySQLサーバーに接続し、mysql_select_db()を使用してデータベースを選択します。私はネイティブ英語ではないので、UTF-8を使用してすべての特殊文字を正しく取得します。これが必要ない場合は、この行を無視できます。

SQLサーバーに入るすべてのデータはサニタイズする必要があります。つまり、引用符などの制御文字をエスケープする必要があります。変数$MyURLは、SQLステートメントで使用される前にmysql_real_escape_string()でサニタイズされます。

SQLステートメントはmysql_query()で実行され、 trueまたはfalseを返します(INSERTおよびUPDATEステートメントの場合)。mysql_affected_rows ()を使用すると、SQLステートメントの影響を受けた行数を確認でき、期待どおりに機能したかどうかを確認できます。

次に、単一の列や行のデータを変更するUPDATEの例を示します。$ RecordID変数は、更新するレコードIDです(更新するレコードを知っている必要があります)。この例では、単一のレコードを特定しています。WHERE句を変更することで、多数の行全体を同時に更新できます。例えば

UPDATE ProductTable SET URLField='".$MyURL."' WHERE URLField='http://www.exampledomain.com/oldproduct/'

...フィールドURLFieldに「http://www.exampledomain.com/oldproduct/」があるすべての行を更新します。

これでしばらくはうまくいくと思います...

于 2011-01-10T00:39:11.143 に答える
0

http://us3.php.net/manual/en/function.mysql-query.php

次に、「INSERT INTO table_name(column1、column2)VALUES('Testing'、'Testing 2')」のようなMySQLクエリを使用します。

于 2011-01-09T23:04:42.300 に答える