我们有以下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的方法。我有完全权限,但只能与php交互数据库,这意味着这个程序是必要的(我不能只使用phpMyAdmin来编辑数据库)。
答案 0 :(得分:0)
通常,您通过网络服务器运行PHP - 如果您将其放在www文件夹内的公共文件夹中(让他们说&#34;测试&#34;),您可以运行它喜欢 - http://localhost/test/DBInit.php
。
但您也可以通过终端中的php命令直接运行它:
php -f DBInit.php
这是你想要达到的目标吗?
您也可以通过wget运行它,例如通过cron job ...
答案 1 :(得分:0)
您需要使用mysql_query('TRUNCATE TABLE tablename');
代替echo "select 'mysql truncate table ' | table_name
from information_schema.tables" | mysql >p2.sh
Truncate命令用于从现有表中删除完整数据。