我目前正在编写数据库安装文件,该文件会自动为用户安装数据库,以便软件可以运行。但是,我只是想知道:
有没有办法通过它推送SQL文件?
截至目前我必须做的:
$tbl_users = "CREATE TABLE Users (
uid INT(255) UNSIGNED AUTO_INCREMENT PRIMARY KEY
)";
if($db->query($tbl_users) === TRUE) {
// do the next creation of a table ...
,然后手动添加行。
如果有人能给我一些建议,将不胜感激;我只是想知道SQL文件是否不安全,但如果可能的话。
由于这是论坛软件,并且很多人在使用时似乎喜欢免费托管,因此我无法使用shell_exec
因为它被大多数免费托管服务提供商禁用。
阅读我的评论以更好地理解。
如果您
使用的是共享主机并且没有phpmyadmin,或者无法上传超过2MB的文件或其他问题,那么您应该安装MySQL Workbench。
使用托管提供商提供的设置创建与 mysql 服务器的连接并运行您的 sql。
或者要通过 PHP 运行 SQL 脚本,请执行以下操作:
<?php
$db = mysqli_connect("localhost", "root", "my_password", "database");
if (mysqli_connect_errno()) {
printf("Connect failed: %s'n", mysqli_connect_error());
exit();
}
$query = file_get_contents("myfile.sql");
if (mysqli_multi_query($db, $query))
echo "Success";
else
echo "Fail";
试试这个:
<?php
system('mysql --user=USER --password=PASSWORD DATABASE< file.sql');
?>