【问题标题】:How to clear and fill MySQL table with php如何用php清除和填充MySQL表
【发布时间】:2014-11-29 19:19:44
【问题描述】:

我们有以下 php 文件,它应该清除表格并添加一些数据。

 <?php
    $q = intval($_GET['q']);

    $con = mysql_connect("localhost","fontofyo_anon","george", "fontofyo_hashes");
    if (!$con) {
      die('Could not connect: ' . mysql_error($con));
    }

    mysql_select_db("fontofyo_hashes");

    echo "select 'mysql truncate table ' | table_name
                  from information_schema.tables" | mysql >p2.sh
    bash p2.sh
    //$result = mysql_query("SELECT * FROM hashes")
    //or die(mysql_error());


    mysql_query("INSERT INTO hashes
    (hash, name) VALUES('37CDC66676EB82014087EE881D3ABF3EA6973C5E', 'League of Legends Patch 4.17') ") 
    or die(mysql_error());  

    mysql_query("INSERT INTO hashes
    (hash, name) VALUES('EC41E5CB44AFD8BBC5707CD765351AA9AF642D24', 'League of Legends Patch 4.16') ") 
    or die(mysql_error());  

    mysql_query("INSERT INTO hashes
    (hash, name) VALUES('DA39A3EE5E6B4B0D3255BFEF95601890AFD80709', 'League of Legends Patch 4.15') ") 
    or die(mysql_error());  

    mysql_query("INSERT INTO hashes
    (hash, name) VALUES('D303F6049FBF1CAA552DF51075FAEE1C7DACDD4B', 'League of Legends Patch 4.14') ") 
    or die(mysql_error());  

    mysql_query("INSERT INTO hashes 
    (hash, name) VALUES('7AB515D12BD2CF431745511AC4EE13FED15AB578', 'Legal Document Editor') ") 
    or die(mysql_error()); 

    mysql_close($con);
    ?>

但是,我是 PHP 和服务器端编程的新手,不知道如何实际运行此脚本。现在,我在主 html 文件中有一个脚本,其中包括以下内容:

window.onload=function() {
$.get('DBInit.php');
//more code
}

有人对如何解决这个问题有任何建议吗?我读过你不应该/不能从 javascript 调用 php 脚本,但我想不出另一种方式来运行 php.ini 文件。我有完全权限,但只能用php与数据库交互,这意味着这个程序是必要的(我不能只用phpMyAdmin来编辑数据库)。

【问题讨论】:

  • mysql_query('TRUNCATE TABLE tablename');而不是这个 echo 语句

标签: javascript php mysql


【解决方案1】:

一般来说,你会通过网络服务器运行 PHP - 如果你把它放在网络服务器的 www 文件夹(比如说“测试”)内的公用文件夹中,你可以像 http://localhost/test/DBInit.php 一样运行它。

但你也可以在终端直接通过php命令运行:

php -f DBInit.php

这是你想要达到的目标吗?

您也可以通过例如 wget 或通过 cron 作业来运行它...

【讨论】:

    【解决方案2】:

    您需要使用mysql_query('TRUNCATE TABLE tablename'); insetad of echo "select 'mysql truncate table ' | table_name from information_schema.tables" | mysql >p2.sh

    截断命令用于从现有表中删除完整的数据。

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 2012-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多