
$sql = 'select count(*) as cnt from テーブル名';
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
echo $row['cnt'];
function table_col($str) {
$sql = 'select count(*) as cnt from '.$str;
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
return $row['cnt'];
}
こちらでテーブルに入っているデータの総数を調べることができるのですが、
下記のように書き換えるとエラーが出てきます。$dsnの部分が間違っているようですが、修正法が書いてあるサイトにはmysqli_query($con, $sql);
$con = mysqli_connect('ホスト名','ユーザー名','パスワード');のように修正されております。
自身のサイトでは$dsn = 'mysql:dbname=hlxclitx_wp1;host=localhost';と記載しているのでそちらを使おうと思ったのですが、駄目なのでしょうか?
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /home/hlxclitx/public_html/wp-content/themes/sample_theme/index.php on line 366
Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in /home/hlxclitx/public_html/wp-content/themes/sample_theme/index.php on line 367
$sql = 'select count(*) as cnt from rss_feed';
$res = mysqli_query($dsn, $sql);
$row = mysqli_fetch_assoc($dsn,$res);
echo $row['cnt'];
※全文はこちらです。
<?php
try {
$dsn = 'mysql:dbname=hlxclitx_wp1;host=localhost';
$user = 'hlxclitx_wp1';
$password = 'E.HrypHWxNmltXgC5eS26';
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //エラーが発生した時に、例外を投げる
echo 'データベースへの接続が出来ました';
//RSSをまとめる
$url1 = [
'http://blog.livedoor.jp/dqnplus/index.rdf',
'http://alfalfalfa.com/index.rdf',
'http://himasoku.com/index.rdf',
];
// insertの準備
$stmt = $dbh->prepare('insert into rss_feed (title, link, date) values (?, ?, ?) on duplicate key update title=?, link=?, date=?');
// URLのループ開始 テーブルに格納
foreach ($url1 as $url) {
if (($rss = @simplexml_load_file($url)) === false) {
continue;
}
foreach ($rss->item as $item) {
$title = $item->title;
$link = $item->link;
$dc = $item->children('http://purl.org/dc/elements/1.1/');
$date = date('Y-m-d H:i:s', strtotime($dc->date));
$stmt->execute([$title, $link, $date, $title, $link, $date]);
}
}
$sql = 'select count(*) as cnt from rss_feed';
$res = mysqli_query($dsn, $sql);
$row = mysqli_fetch_assoc($dsn,$res);
echo $row['cnt'];
//古いデータを削除
$sql = 'DELETE FROM rss_feed WHERE date < ?';
$stmt = $dbh->prepare($sql);
$date = date('Y-m-d H:i:s', strtotime('-1 week'));
$stmt->execute([$date]);
} catch (PDOException $e) {
echo $e->getMessage(); // err時はメッセージを表示
exit;
}
?>
No.1ベストアンサー
- 回答日時:
PHP7ではもうmysql_*関数は廃止されています
PDOなど一般的なやり方にシフトしてください
了解いたしました。
http://weble.org/2010/01/02/php-mysql-table-col
https://lpeg.info/webworks/server_moving_mysqli. …
mysqliに変換する方法もあったのですが、その場合$dsnが間違っているのでしょうか?
勉強のためにお聞きしておきたいです…
$sql = 'select count(*) as cnt from rss_feed';
$res = mysqli_query($dsn, $sql);
$row = mysqli_fetch_assoc($dsn,$res);
echo $row['cnt'];
No.3
- 回答日時:
知識が乏しいなら余計にmysqli関数はやめてPDOをおすすめします
WEB上のナレッジサイトも情報量が違います。
No.2
- 回答日時:
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$result = mysqli_exec($link, $sql);
while ($row = mysqli_fetch_assoc($result)){
・・・
みたいな感じでは?
勉強不足で申し訳ないのですが、while ($row = mysqli_fetch_assoc($result)){の後述がわかりません…
下記のようにしてRSSで1ページあたりの数を制限したい場合、どのような構想になるのでしょうか?
データベースから$titleの数をmysqli_fetch_assocで取得して、total数と1ページあたりの数を使いコンテンツの重複を避けるよう考えております。
$perPage = 36; // 1ページあたりのデータ件数
//「URLのパラメータにpageが存在しない場合」「pageが0以下」「pageがトータルページを超えている場合」に1ページ目を表示するように処理しています。9行目では悪意のある値を受け付けないように数値にキャスト(変換)しています。
$totalPage = 10; // 最大ページ数
if (
isset($_GET["page"]) &&
$_GET["page"] > 0 &&
$_GET["page"] <= $totalPage
) {
$page = (int)$_GET["page"];
} else {
$page = 1;
}
$page = (int) $_GET['page'];//現在のページ番号
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP php エラー 2 2022/10/23 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPについてなのですが未定義の...
-
mysql_insert_id()の使い方
-
PHP 10件表示 "前へ" "次へ"
-
PEARのPagerの設定の仕方
-
PEAR::DBで取得したデータで処...
-
checkboxで複数選択して,OR...
-
DBで検索結果に該当するデータ...
-
空だと思ったのに・・・
-
MySQLのエクスポート
-
VBAをつかってクエリの情報を抽...
-
アカウント検索(データベース...
-
【PHPとDBの連動】時刻表作成
-
mysql_queryでDB検索をしたいが...
-
phpのPEARのMDB2を使って出たエ...
-
codeigniter 複数モデルでトラ...
-
MySQLについて
-
エラー3011
-
SELECT文を発行して、ACCESSよ...
-
テーブルの最後のレコードしか...
-
ExcelからAccessのクエリを呼び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBで検索結果に該当するデータ...
-
PHPで[]の使い方について
-
mysql_fetch_assoc()の非推奨
-
アラートでyes noを作りたいです。
-
チェックボックスでチェックし...
-
チェックボックスから検索、PHP...
-
checkboxクリック時、SQLを実行...
-
phpでmysqlを使ってデータベー...
-
sortable ギブアップです…助け...
-
PHP 10件表示 "前へ" "次へ"
-
空だと思ったのに・・・
-
入力フォームが上手く動きませ...
-
PHP MYSQLから呼び出し後の比較
-
データベースのページング出力...
-
チェックボックス検索システム
-
エクセルVBAについて
-
検索したときなにも無かった場合
-
PHPでMySQLデータを呼び出し、w...
-
mysqlから取得した配列をカンマ...
-
DBから抜き出した値を表示する方法
おすすめ情報