• 締切済み

クエリキャッシュ削除について

今、PHPとMySQLとAjaxなどを使って即時反映するのものを作っております。 あれこれ調べて試行錯誤しており、これがもしかすると原因じゃないのかと このサイトを見て思いました。 http://qiita.com/fslasht/items/4e6b6a64e67407f722bb キャッシュが残っていることによってテーブルを更新しても古いままの状態に なってしまうこともあるそうです。 手続き型?のmysqliでFLUSH TABLESを実行するものを探しておりますが、 PHPで実行するものがなかなか見つかりません。 どなたか大変恐縮ですが、ご教示よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5071/13248)
回答No.1

mysqli_query($connect, 'FLUSH TABLES');

関連するQ&A

  • iniファイルを書き換えないと使いづらいと聞いた

    phpを使うためにxamppをインストールしたら、 iniファイルを書き換えないと使いづらいと聞いたのですが どのファイルでしょうか? http://www.adminweb.jp/xampp/php/index2.html のように、php.iniでしょうか? http://www.adminweb.jp/xampp/mysql/index4.html のように、my.iniでしょうか? それとも http://qiita.com/guzuri/items/643c1311224e8d482278 のように、どちらもでしょうか?

    • ベストアンサー
    • PHP
  • 複数行のクエリを、まとめて実行するには?mysqli_multi_query()?

    PHPとMySQLの環境です。 複数行のクエリを、まとめて送って取得したいと考えています。 ですが、今試行錯誤しているのですが、うまく行かない状態で、クエリをきちんと実行できません。 処理の流れとしては、 [DBにアクセス]→[2つのクエリの実行]→[データ取得]→[DBをクローズ] でいいのではないかと思ってやっているのですが、 2つのクエリを実行するのはなにやら無理なような記述もウェブ上で拝見しました。 その場合、同じDBの同じテーブル内の異なるデータを取得したいだけなのに、 わざわざ、一度DBにコネクトして、切断、そしてまたコネクトして、切断ということを繰り返さないとダメなのでしょうか。。? そもそも同一PHPファイル内で二度も接続、切断はすべきではないですか? ちなみに、 一つ目のクエリでは、テーブル(table_a)のレコード数をカウントしてPHP側で取得するという流れの処理です。 $query = "SELECT count(*) FROM `table_a`"; もう一つのクエリは、テーブル(table_a)の最新のレコードの、idカラムのidを取得するだけのものです。 $query = "SELECT arrayset FROM `table_a` ORDER BY id DESC LIMIT 1"; この処理を一度のクエリで入れ込むことは可能でしょうか。 それぞれ単独では実行できます。 PHPでこのような関数 mysqli_multi_query() を見つけて色々調べているのですが、 いまだに使用方法がきちんとつかめない状況です。 これで複数のクエリを送ることは可能でしょうか。 アドバイス宜しくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLとPHPがつながりません。

    MySQL5.1 Apache2.0 PHP5.2.4をインストールしたのですが、MySQLとPHPがつながりません。 phpinfoを見ても、libxmlとodbcの間に本来あるべきMySQLがありません。 C:\WINDOWS\php.iniにある、 extension=php_mysql.dll extension=php_mysqli.dll のセミコロンは外しています。 php5ts.dllはC:\WINDOWSに、libmysql.dllはC:\System32とC:\Apache2\binにコピー済みです。 php_mysql.dllやphp_mysqli.dllもコピー済みです。 それでも反映されず、やけくそで各フォルダに全種類dllをコピーしたりもしましたがやはり反映されません。 そして、この状態でWEB上からPHPにアクセスすると、 Fatal error: Call to undefined function mysql_pconnect() in C:\Apache2\htdocs\include\setup.php on line 7 というメッセージのサイトが出てきます。 恐らくphpinfoにMySQLが反映されれば解決すると思うのですが、どのようにすれば良いのでしょうか。 どなたか宜しくお願いします。

    • ベストアンサー
    • MySQL
  • hpinfoにmysqlやmysqliが表示されない

     現在、Windows2003 サーバ(IIS6.0)、PHP5.4.3、mysqlは5.0.45に環境を構築しています。phpは実行でき、コマンドからはMySQLに接続できますがphpプログラムから接続できません。  そこで調べていたのですが、phpinfoにmysqlやmysqliが表示されていません。phpとMySQLの接続がうまくいっている環境ではphpinfoにmysqlやmysqliが表示されているのでこれが原因だと思われます。 他の人の投稿から下記のことは確認いたしましたが、どうしても上手くいきません。よろしくお願いいたします。 ・php.iniはC:\Windowsに存在します。またphp.iniファイルは1つしかありません。 ・php.iniファイルの下記の項目は変更しました。  extension_dir = "C:\php\ext"  extension=php_mysql.dll  extension=php_mysqli.dll

    • 締切済み
    • PHP
  • アンドロイドスタジオ Activityとは?

    アンドロイドスタジオにおいて「 Activity 」とはどのような意味合いを持つのでしょうか? Activityは活発という意味だと思うのですがアンドロイドスタジオにおいては、よく使うファイルみたいな認識で良いのでしょうか? 参考URL http://qiita.com/m2mtu/items/ac0d61e884519a4c61bb

  • RPMを削除

    いつも拝見しています。 RPMでインストールされているMySQLとPHPを削除し ソースからインストールをしたいと考えておりますが PHPのRPMの削除はできたのですが、MySQLのRPMが削除できず、困っています。 ---------- 環境:Red Hat Enterprise Linux ES v.4 32bit/EM64T ---------- # rpm -qa | grep mysql を実行すると ---------- libdbi-dbd-mysql-0.6.5-10.RHEL4.1 mysql-bench-4.1.20-1.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1 mysql-4.1.20-1.RHEL4.1 mysql-server-4.1.20-1.RHEL4.1 mysqlclient10-3.23.58-4.RHEL4.1 mod_auth_mysql-2.6.1-2.2 mysql-4.1.20-1.RHEL4.1 mysql-devel-4.1.20-1.RHEL4.1 ---------- と返ってきます。 # rpm -qa | grep mysql | xargs rpm -e を実行すると ---------- error: "mysqlclient10-3.23.58-4.RHEL4.1" specifies multiple packages error: "mysql-4.1.20-1.RHEL4.1" specifies multiple packages error: "mysqlclient10-3.23.58-4.RHEL4.1" specifies multiple packages error: "mysql-4.1.20-1.RHEL4.1" specifies multiple packages ---------- とエラーが出て、削除できていません。 同様に # rpm -qa | grep MySQL を実行すると ---------- perl-DBD-MySQL-2.9004-3.1 qt-MySQL-3.3.3-9.3 MySQL-python-1.0.0-1.RHEL4.1 ---------- と返ってきます。 # rpm -qa | grep MySQL | xargs rpm -e を実行すると ---------- error: Failed dependencies: perl-DBD-MySQL is needed by (installed) mysql-server-4.1.20-1.RHEL4.1.x86_64 ---------- とエラーが出て、削除できていません。 ご教授よろしくお願いします。

  • データベースへの接続について

    ●質問の主旨 下記のコードでデータベースを実行しようとしたところ、 Fatal error: Call to undefined function prinf() が 表示されます。 Host infomation: localhost via TCP/IP と表示させるためには、どこを修正すれば良いでしょうか? ご存知の方、よろしくお願いします。 ●質問の補足 参考書によると、 Fatal error: Call to undefined fuction mysqli_connect() というエラーが表示される可能性があることを、前もって指摘されています。 ただその場合、「php.iniファイルのphp_mysqli.dllを有効にしてください」 とありますが、私のファイルではすでに有効になっています。 (";"セミコロンは入力されていない状態) extension=php_mysql.dll extension=php_mysqli.dll また、Fatal error:の内容が、私の場合、"printf()"ですが、 参考書の場合、mysqli_connect()になっています。 ●参考書 ジュリー・C・メローニ はじめてのPHP、MySQL、Apache原著第5版 PEARSON P.365 リスト18-1 ●コード <?php $mysqli = new mysqli("localhost", "username", "******", "firstmysql"); if(mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit; } else { prinf("Host infomation: %s\n", mysqli_get_host_info($mysqli)); }

    • ベストアンサー
    • PHP
  • 誤って全てのユーザを削除してしまい、MySQLサーバに接続出来なくなってしまいました。

    さくらインターネットの専用サーバを使用している者です。OSはCentOS 5です。 また、LinuxコマンドやMySQLも使い始めて間もない初心者です。 明らかに手順がおかしいのですが、root@localhost等のユーザを全て削除した後、新しいユーザを作成しようとしていたら、うっかりexitしてしまい、MySQLサーバに接続出来なくなってしまいました…。 色々と調べてみて、以下のような手順を踏んで接続を試みても、繋がりませんでした。 ・/etc/my.cnfの [mysqld] を [mysqld --skip-grant-tables]に変更して上書きし、MySQLを再起動する ・mysql_install_dbを実行して、MySQLを再起動する ・/etc/php.d/にあるmysql.iniとmysqli.iniのバックアップを取ってから削除し、MySQLを再起動する 再起動は、/etc/rc.d/init.d/mysqld stop を実行してから /etc/rc.d/init.d/mysqld startを実行しておりました。 接続方法はいずれの方法でも以下のようにして行いましたが、結果は同じでした。 # mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) # mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) どのようにすれば、MySQLサーバに接続出来るようになるのでしょうか? 対策手段が分かる方がおられましたら、ご回答宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • 画像削除機能を付けたい

    php初心者です 以前教えていただいたサンプルを元に phpとmysqliの手続き型で画像アップ機能を作りたいです サンプルでは削除機能がないので、削除機能を付けたいと思いました 付けたい機能 1.画像削除機能 2.画像一覧表示(そのひとがアップしている画像を取得して一覧表示、その画像のしたに削除チェックを付けたい) 以前教えていただいたサンプル http://qiita.com/mpyw/items/73ee77a9535cc65eff1e 素人なりに考えてみましたが頭パンクしました 失敗作 フォーム失敗作 しかし、DBから取得した画像と、削除チェックの位置を合わせられませんでした <div> <p>画像表示一覧</p> <form method="POST" action=""> ここに画像1(gif) 削除チェック<input type="checkbox" name="deletefile[]" value="1"> ここに画像2(jpg) 削除チェック<input type="checkbox" name="deletefile[]" value="2"> <input type="submit" value="削除ボタン" name="btn"> </form> </div> DBのgifのテーブルのカラムはidとuser_idとgif(画像名)にしています どんどんINSERTで登録していく感じになっています(テーブル設計も自信ありません・・・) 受け取るphpの上のほうに記述したもの ※セッションidから会員の画像名を取得 session_start(); $id = $_SESSION['id']; $sql= mysqli_query($link,sprintf('SELECT * FROM gif WHERE user_id=%d', mysqli_real_escape_string($link,$id) )); $data = mysqli_fetch_assoc($sql); if(isset($_POST["deletefile"])){ if(isset($data['gif'])){ if(unlink("img/".画像名 )){ mysqli_query($link,sprintf('DELETE FROM gif WHERE id=%d', mysqli_real_escape_string($link,画像の番号) )); $mes = "削除しました"; }else{ $mes = "削除失敗"; } } } 新しくサンプルいただけると助かります よろしくお願いします

    • ベストアンサー
    • PHP
  • php データ削除

    一覧画面に更新、削除というボタンをつくり番号を受け取って削除したいのですが、削除ボタンを押しても画面は変わるのですが削除されません 助けてください 番号 int プライマリーキー 氏名 varchar 住所 varchar 一覧画面のソース <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<form action=koushin_input.php method=post>"; echo "<td><input type=submit value=更新></td>"; echo "</form>"; echo "<form action=sakujo.php method=post>"; echo "<td><input type=submit value=削除></td>"; echo "</form>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 削除ソース  sakujo.php <html> <body> <? // データベースに接続 if(!$con=mysql_connect("localhost","root","admin")){ echo"接続エラー"; exit; } // データベースを選択 if(!mysql_select_db("db_test",$con)){ echo"データベース選択エラー"; exit; } // DELETE文を実行 $sql = "delete from tbl_test where '番号'= 番号; if(!$res=mysql_query($sql)){ echo "SQL実行時エラー"; exit; } // データベースから切断 mysql_close($con); // 登録完了メッセージの表示 echo "削除完了"; ?> </body> </html> どういう風にpostで渡せばいいですか?

    • ベストアンサー
    • MySQL

専門家に質問してみよう