STRICT_TRANS_TABLES در mysql باعث می شود که بتوانیم بصورت خطا دار insert یا update انجام ندهیم

مثال

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

 

NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

باید با دسترسی روت در mysql قسمت variable مشاهده کنید

با هر بار ریست mysql این مقدار بر میگرده به حالت پیشفرض

حالت پیشفرض رو از طریق /etc/my.cnf میتوانید تغییر بدهید

[mysqld] اینجا

اضافه کنید

sql_mode=

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);


$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
else {
    echo "0 results";
}
$conn->close();
?>

سلام دوروزه درگیر سرور هستم.

 

بخاطر پر شدن حجم سرور mysql و mariadb از کار افتاد و دیگه اجرا نشد و به هیچ صراظی مستقیم نبود.

 

این رو مینویسم شاید بدرد یکی بخوره و نخواد دو روز وقتش و بزاره

 

1.اگر مای اس گیو ال شما از کار افتاد و احتیاج به نصب مجدد آن داشتید 

 

اوالا از پوشه /var/lib/mysql یک کپی بگیریذ یا اسمش رو عوض کنید

 

دوما نگران نباشید تا زمانی که از این دستور استفاده نکنید دیتابیس شما از دست نمی رود purge

 

سوم راحت مای اس کیو ال و ماریا دی بی رو نصب کنید

 

اگر دایرکت ادمین دارید حتما همه کارها رو با کاستوم بیلد انجام بدهید

 

بعد قبل از اجرای مای اس کیو ال یعنی در حالت استوب

 

نام پوشه را برگردانید به mysql در میسری که گفتم 

 

/var/lib/mysql 

 

بعد مای اس کیو ال را اجرا کنید 

 

نکته طلایی

 

حتما یکبار با phpmyadmin با دسترسی روت جدید که هنگام نصب از ssh به شما نشون میده وارد شوید

 

و دیتابیس حاضر هست.

 

 

 

2. بعد از نصب mysql ممکنه کل سایتهای شما از کار بیفته 

 

چون نسخه های جدید یک تغییراتی می دهند مثلا برای من پیش آمد که نسخه جدید می اس کیو ال خیلی حساس هست روی عدد بجای کاراکتر و ... قبلی خودش درستش میکرد ولی این یکی برای نال ها هم خیلی گیر میده که شاید احتیاج باشه کد ها و ... را یک بازنگری کنید.

 

3. همیشه برای دیباگ کردن وقت بزارید

 

از alert جاوا اسکریپت گرفته تا fwrite پی اچ پی بعضی وقتها یک چیزهای ساده شما رو نجات میده.