私は様々なURLリンクを持つ列を持つSQLテーブルを持っています。誰でもクエリ/関数/ etcを知っていますか?各行をループし、リンクが有効かどうかを検証したり、検証したりします。私はいくつかの問題を抱えています。私のテーブル内のいくつかのURLはまだ動作していますが、他の人は私に404を与えています。SQL照会Webサイトのリンク
0
A
答えて
2
これはSQLから純粋に行うことはできませんが、スクリプトで行うことができます。以下はmysql + phpの例です。これはプロダクションコードではないことを覚えておいてください。私はこれをどのように達成できるかを知るために非常に素早く書きました。
<?php
/* Database Connection Config */
$db_host = '127.0.0.1';
$db_user = 'your_username';
$db_password = 'your_password';
$db = 'your_database';
$conn = new PDO("mysql:host=$db_host;dbname=$db",$db_user,$db_password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/* Pull all URLS in table. */
$query = 'SELECT url_id, url FROM url_table';
$stmt = $conn->prepare($query);
$stmt->execute();
$rc = $stmt->rowCount();
if($rc > 0) {
while($row = $stmt->fetch()) {
/* If url returns 404. */
if(!is_url_valid($url)) {
delete_url($row['url_id']);
}
}
}
function delete_url($url_id) {
global $conn;
$query = 'DELETE from url_table WHERE url_id = '.$url_id;
$stmt = $conn->prepare($query);
$stmt->execute();
$rc = $stmt->rowCount();
return $rc;
}
/* Returns true/false */
function is_url_valid($url) {
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($handle);
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
$status = false;
} else {
$status = true;
}
curl_close($handle);
return $status;
}
?>
0
関連する問題
- 1. は、C#のコンソールアプリケーションからWebサイトのデータベースを照会
- 2. SQL照会
- 3. 現在のWebサイトでWebテーブルを照会してください
- 4. SQL照会の結果の照合
- 5. SQL照会の効率チェック
- 6. SQL Server - sysobjectsの照会
- 7. Sql Compact:Ntext列の照会
- 8. データベースへのSQL照会インターフェース
- 9. SQL Serverのオンライン照会
- 10. SQL照会の解読
- 11. ピボットUnPivot SQL照会の照合
- 12. VS2008 Webサイトの参照
- 13. Webサイトの参照アセンブリ
- 14. Firebaseオブジェクト間のリンクの照会とモデリング
- 15. SQL照会2週間
- 16. 直接リンクされたサーバーの照会openqueryを使用したVS照会
- 17. ASP.net WebサイトのSQLデータロード
- 18. ユーザー権限のSQLの照会
- 19. SQL 2014タクシーの旅行データの照会
- 20. SQL照会の戻り値のセットシーケンス
- 21. ログインのためのSQL照会
- 22. node.jsのsqlサーバへの照会
- 23. 名前によるSQLクエリの照会
- 24. SQL Serverチェック制約の照会
- 25. SQLすべてのデータベースを照会
- 26. SQL照会の共通分母(列)
- 27. SQL照会の計算結果には
- 28. SQLの照会結果をビット
- 29. SharePoint Webサービスからリストデータを照会
- 30. SSRSレポートからWCF Webサービスを照会
を再開ノーあると思いますそのような機能は(データベースの目的ではない)、どのデータベースでも利用可能です。おそらくスクリプトやアプリケーションをjavaやc#などの言語で作成してデータベースからデータを取得してチェックすることができます。 – GurV
もう少しコンテキストを提供できますか?あなたは働くURLだけでテーブルを最新に保つ方法が必要ですか? (その場合、設定された間隔でそれらをすべてチェックし、動作していないものを取り除くcronjobスクリプトを使用してください。) – Philip
@Phillip私のテーブル内のURLがまだ良好かどうかを確認する方法を探しています。私のテーブルにはURLという名前の列があり、その中に約2kのレコードがあります。私はそれにSQLの中に何かがあるとは思わなかったが、PHPやJavaのソリューションを見る前に尋ねたいと思った。 – GabrielVa