首页 > 解决方案 > 使用 PHP 运行查询时出现 SQL 脚本错误

问题描述

所以我目前正在制作一个系统来更新数据库表,方法是从 API 下载 SQL 脚本,然后使用该文件更新 SQL 表。文件下载正常。但是,我认为问题在于我的 SQL 脚本。

SQL 代码:

IF COL_LENGTH('sitesettings', 'backgroundColor') IS NULL
BEGIN
    ALTER TABLE sitesettings ADD backgroundColor varchar(255) DEFAULT '#202225';
END

IF COL_LENGTH('sitesettings', 'logintype') IS NULL
BEGIN
    ALTER TABLE sitesettings ADD logintype INT DEFAULT 1
END

IF NOT EXISTS (SELECT 'X'
    FROM   INFORMATION_SCHEMA.TABLES
    WHERE  TABLE_NAME = 'classicusers')
BEGIN
    CREATE TABLE classicusers(
    id TEXT NOT NULL,
    username TEXT NOT NULL,
    password TEXT NOT NULL)
END

PHP代码:

$url = 'https://api.faxcad.com/update.sql';
    $file_name = basename($url);
        if(file_put_contents($file_name, file_get_contents($url))) {
            echo "Downloaded";
        }
        $command = "mysql --user=user --password='pass' -h IP -D dbname < /var/www/order/update/update.sql";
                $output = shell_exec($command);

提前致谢!

标签: phpmysqlsql-servershell-exec

解决方案


推荐阅读