如何在PHP/MySQL语句中正确指定字符串字段的默认值

如何在PHP/MySQL语句中正确指定字符串字段的默认值,php,mysql,Php,Mysql,我试图调试一些自动生成的代码,但我是一个mySQL noob。在下面的“prepare”行中一切正常,然后出于某种原因,$mysqli_stmt为false,产生声明的错误。这可能与SQL_模式='ANSI'有关吗?失败似乎与下面的字符串“xxx”有关,但无论我将其更改为什么,它仍然会发生。这个值是TickerGest字段的默认值,但奇怪的是,如果我将“xxx”更改为“c__TickerGest”,那么它会突然工作,但当我查看数据库时,TickerGest字段被插入为“null” $my

我试图调试一些自动生成的代码,但我是一个mySQL noob。在下面的“prepare”行中一切正常,然后出于某种原因,$mysqli_stmt为false,产生声明的错误。这可能与SQL_模式='ANSI'有关吗?失败似乎与下面的字符串“xxx”有关,但无论我将其更改为什么,它仍然会发生。这个值是TickerGest字段的默认值,但奇怪的是,如果我将“xxx”更改为“c__TickerGest”,那么它会突然工作,但当我查看数据库时,TickerGest字段被插入为“null”

    $mysqli = mysqli_init();
    $mysqli->options(MYSQLI_INIT_COMMAND, "SET SQL_MODE = 'ANSI'");
    $mysqli->real_connect(SR_Host,SR_Username,SR_Password,SR_Database) or die('Unable to connect to Database');
    $sql_stmt = 'INSERT INTO "t_sr_u_Product"("c_u_Name", "c_u_Code", "c_u_TickerDigest") VALUES (?, ?, "xxx")';
    $mysqli_stmt = $mysqli->prepare($sql_stmt);
致命错误:未捕获的异常“exception”和消息“INSERT in”插入到“t_Sru______产品”(“c____名称”、“c____代码”、“c______________代码”、“c_____________________tickerdget”)值(?,“xxx”):准备


我希望出错的地方很简单,因为我几乎完全不懂SQL。

围绕“xxx”的单引号应该有用。在ANSI SQL中,双引号表示标识符(例如字段和表名)。请参阅:标识符的说明见: