我尝试了与此主题相关的所有问题和答案。另外,我尝试了相关问题并尝试解决,但未成功。因此,请仔细阅读我的问题。
相对答案搜索
我想在mysql中更新全局变量sql_mode = ''。
将MySQL从5.5升级到5.7.15后,我们的某些应用遇到了问题,需要将sql_mode设置为blank才能解决此问题。我添加了sql_mode ='',但对mysql设置没有影响。
如何将sql_mode保留为空白?
累代码
$db = new DB_Sql();
$db->Host = "172.**.**.**";
$db->Database = "MyDatabase";
$db->User = "root";
$db->Password = "MyPassword";
global $ourFileName,$link;
$SITE_URL="http://".$_SERVER[HTTP_HOST];
$SITE_HTTPS_URL="http://".$_SERVER[HTTP_HOST];
$ourFileName = $_SERVER['DOCUMENT_ROOT'] . "/Log/MaintenaceLogFiles.txt";
$ndb=$mdb=$db;
$link=mysqli_connect($db->Host, $db->User, $db->Password,$db->Database);
if(mysqli_connect_errno())
{
echo '<p>Error: Unable to connect to MySQL: '.mysqli_connect_error().'</p>';
}
mysqli_query($link,"set sql_mode = '' ") or die(mysqli_error());
Run Code Online (Sandbox Code Playgroud)
注意: 只 mysqli_query 使用不使用 .cnf
您为什么认为它不起作用?
它对我有用
$row = $mysqli->query("SHOW VARIABLES LIKE 'sql_mode'")->fetch_row();
var_dump($row[1]);
$mysqli->query("SET SESSION sql_mode=''");
$row = $mysqli->query("SHOW VARIABLES LIKE 'sql_mode'")->fetch_row();
var_dump($row[1]);
Run Code Online (Sandbox Code Playgroud)
输出
string(62) "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
string(0) ""
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因想要将其设置为全局(而不应该在root用户下运行查询)
$mysqli->query("SET GLOBAL sql_mode='', SESSION sql_mode=''");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5247 次 |
| 最近记录: |