PDA

View Full Version : خطا در ارسال فرم به دیتابیس با متد post



volkswagen
جمعه 11 مهر 1399, 13:07 عصر
سلام ، من یک کد نوشتم که اطلاعات رو در دیتابیس ارسال می کنه ، در حالت عادی مشکلی نیست و ارور ندارم ولی وقتی می خوام اطلاعاتی که با استفاده از متد فرم ارسال کردم ، در دیتابیس ذخیره کنم ، با ارور مواجه می شم ، لطفا بگین مشکل کجاست ، تشکر.

در خط 28 اگر بجای اون مقادیر ، از متغیرهایی که نسب دادم به متد post ، استفاده کنم ، ارور میده




<?php


$user1=$_POST['username'];
$pass1=$_POST['password'];
$email1=$_POST['email'];

$servername = "localhost";
$dbname1="ali_project";
$username = "root";
$password = "";


// Create connection
echo $user1;
echo "<br>";
$conn=new mysqli($servername,$username,$password,$dbname1);

// Check connection
if (mysqli_connect_errno()) {
die("Connection failed: " .mysqli_connect_error());
}
echo "Connected successfully";
echo "<br>";


$sql = "INSERT INTO users (username, password, age)
VALUES ('a111', 'b11', 9)";

if (mysqli_query($conn, $sql)) {
echo "ساخت رکورد با موفقیت انجام شد";

} else {
echo "خطا: " . $sql . "<br>" . mysqli_error($conn) ;


}


mysqli_close($conn);



?>

plague
شنبه 12 مهر 1399, 08:24 صبح
متن اررورت و کدی که اررور میده

volkswagen
شنبه 12 مهر 1399, 17:06 عصر
مرسی ، این متن خطا:

http://uupload.ir/files/llnx_error.jpg
وقتی خط 28 رو به شکل زیر تغییر بدیم ، یعنی متغیرهای مربوط به متد post ، ارور میده:


VALUES ('username', 'password', 'email')";

plague
یک شنبه 13 مهر 1399, 08:58 صبح
فیلد age عددی هستش (int)
شما داری حرف میریزی (string/ char ) توش
mysql یه چیزی داره به اسم strict mode که اگه غیر فعال باشه و شما بخای اینکارو انجام بدی 0 میزاره تو فیلد
ولی اگه فعال باشه شما بخای خحرف بریزی تو فیلد عددی بهت اررور میده که این چیزی که میخای بریزی عدد نیست

volkswagen
یک شنبه 13 مهر 1399, 11:52 صبح
فیلد age عددی هستش (int)
شما داری حرف میریزی (string/ char ) توش
mysql یه چیزی داره به اسم strict mode که اگه غیر فعال باشه و شما بخای اینکارو انجام بدی 0 میزاره تو فیلد
ولی اگه فعال باشه شما بخای خحرف بریزی تو فیلد عددی بهت اررور میده که این چیزی که میخای بریزی عدد نیست

تشکر ، من الان برنامه رو اجرا می کنم ، تو فیلد ایمیل ، عدد هم وارد می کنم ، بازم ارور میده ، دلیل اش چیه؟ داخل کدهای html ، تکست باکس email رو به پسورد تغییر دادم ولی بازم ارور هست...مقدار هم عددی..

اگر برنامه رو به شکل زیر تغییر بدم ، ارور برطرف میشه :

VALUES ('username', 'password', 0)";

volkswagen
یک شنبه 13 مهر 1399, 12:02 عصر
حل شد ، بسیار ممنون از راهنمایی