-1

Relative answer search
I tried all questions & answers related this topic.

  1. setting global sql_mode in mysql

  2. https://dba.stackexchange.com/questions/109053/set-sql-mode-blank-after-upgrading-to-mysql-5-6

  3. How To Set MySql SQL_MODE to ANSI from PHP

  4. http://php.net/manual/en/mysqli.options.php

I want to update global variable in mysql sql_mode = ''.

After upgrading MySQL from 5.5 to 5.7.15, some our app face to problem and need set sql_mode to blank to solve this issue. I added sql_mode = '' but there was no effect on the mysql setting.

How do I keep the sql_mode blank ?

tired Code

$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());  

Note: Using only mysqli_query not use .cnf

Dharman
  • 30,962
  • 25
  • 85
  • 135
Sumit patel
  • 3,807
  • 9
  • 34
  • 61

1 Answers1

9

Why do you think it doesn't work?

It works for me all right

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db=mysqli_connect($db->Host, $db->User, $db->Password,$db->Database);
$db->set_charset("utf8mb4");

$row = $db->query("SHOW VARIABLES LIKE 'sql_mode'")->fetch_row();
var_dump($row[1]);

$db->query("SET SESSION sql_mode=''");

$row = $db->query("SHOW VARIABLES LIKE 'sql_mode'")->fetch_row();
var_dump($row[1]);

outputs

string(62) "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
string(0) ""

if, for some reason, you want to set it global (while you shouldn't run your queries under root)

$mysqli->query("SET GLOBAL sql_mode='', SESSION sql_mode=''");
Your Common Sense
  • 156,878
  • 40
  • 214
  • 345