|
|
|
Code Insert ข้อมูลรันได้ใน php 5.2 แต่ไม่รันใน php 5.6 |
|
|
|
|
|
|
|
ไม่ทราบว่าคำสั่งตรงไหนที่มีการเปลี่ยนแปลงบ้างคะ
รันใน php 5.2 คือรันคำสั่งได้ แต่ใน 5.6 ไม่รันนะคะ
connect.inc
<?php
$hostname_account = "xxxxxx";
$database_account = "financial_med";
$username_account = "fi_med";
$password_account = "xxxx";
$account = mysql_pconnect($hostname_account, $username_account, $password_account) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET CHARACTER SET utf8");
?>
adddataok.php
<?
include("connect.inc");
for($i=1;$i<=(int)$_POST["hdnMaxLine"];$i++)
{
$txtaccrec_no1_[$i]=$_POST["txtaccrec_no1_".$i];
$txtaccount_code_[$i]=$_POST["txtaccount_code_".$i];
$txtaccount_name_[$i]=$_POST["txtaccount_name_".$i];
$txtaccrec_debit_[$i]=$_POST["txtaccrec_debit_".$i];
$txtaccrec_credit_[$i]=$_POST["txtaccrec_credit_".$i];
include("connect.inc");
$sql1 = "insert into accrec (user_rec,date_rec,accrec_fac,plan_name,plan_code,sub_name,sub_code,fund_name,
fund_code,accrecno_id,accrecno_name,accrecno_no,accrec_num,accrec_date,accrec_from,accrec_name,accrec_no1,account_name,account_code,accrec_debit,accrec_credit,accrec_user1,accrec_date1,accrec_user2,accrec_date2,accrec_user3,accrec_date3) values
('$user_rec','$date_rec','$accrec_fac','$plan_name','$plan_code','$sub_name','$sub_code','$fund_name',
'$fund_code','$accrecno_id','$accrecno_name','$accrecno_no','$accrec_num','$accrec_date','$accrec_from','$accrec_name','$txtaccrec_no1_[$i]','$txtaccount_name_[$i]','$txtaccount_code_[$i]','$txtaccrec_debit_[$i]','$txtaccrec_credit_[$i]','$accrec_user1','$accrec_date1','$accrec_user2','$accrec_date2','$accrec_user3','$accrec_date3') ";
$dbquery1 = mysql_db_query($dbname, $sql1);
$sql4 = "insert into sumdoc (user_rec,date_rec,accrec_fac,plan_name,plan_code,sub_name,sub_code,
fund_name,fund_code,doc_type1,doc_type2,accrecno_id,accrecno_name,
accrecno_no,accrec_num,doc_date1,doc_date2,accrec_from,accrec_name,
accrec_no1,account_name,account_code,accrec_debit,accrec_credit,
accrec_user1,accrec_date1,accrec_user2,accrec_date2,accrec_user3,
accrec_date3,accrec_user4,accrec_date4,doc_comment1,doc_comment2) values
('$user_rec','$date_rec','$accrec_fac','$plan_name','$plan_code','$sub_name','$sub_code','$fund_name',
'$fund_code','$doc_type1','$doc_type2','$accrecno_id','$accrecno_name','$accrecno_no','$accrec_num','$accrec_date','$doc_date2','$accrec_from','$accrec_name','$txtaccrec_no1_[$i]','$txtaccount_name_[$i]','$txtaccount_code_[$i]','$txtaccrec_debit_[$i]','$txtaccrec_credit_[$i]','$accrec_user1','$accrec_date1','$accrec_user2','$accrec_date2','$accrec_user3','$accrec_date3','$accrec_user4','$accrec_date4','$doc_comment1','$doc_comment2')
";
$dbquery4 = mysql_db_query($dbname, $sql4);
}
for($k=0;$k<count($_POST["accrec_amount"]);$k++)
{
include("connect.inc");
$sql2 = "insert into bank_accrec
(accrec_num,accrec_check,accrec_namebank,accrec_bankunit,
accrec_numcheck,accrec_bankdate,accrec_banknumno,accrec_amount) values
('$accrec_num','$accrec_check[$k]','$accrec_namebank[$k]','$accrec_bankunit[$k]',
'$accrec_numcheck[$k]','$accrec_bankdate[$k]','$accrec_banknumno[$k]','$accrec_amount[$k]') ";
$dbquery2 = mysql_db_query($dbname, $sql2);
}
for($j=0;$j<count($_POST["des_accrec_amount"]);$j++)
{
include("connect.inc");
$sql3 = "insert into descript_accrec (accrec_num,des_accrec_name,des_accrec_amount,des_accrec_date) values
('$accrec_num','$des_accrec_name[$j]','$des_accrec_amount[$j]','$des_accrec_date[$j]') ";
$dbquery3 = mysql_db_query($dbname, $sql3);
}
mysql_close();
echo "<div align=\"center\"><br>";
echo "<font color=\"#0033CC\" size=\"2\" face=\"Microsoft Sans Serif\">เพิ่มข้อมูลเรียบร้อยแล้ว</font></div>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=accrec_show.php\">";
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2023-06-28 11:17:32 |
By :
suntareesr |
View :
548 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะ ฟังก์ชัน mysql_xxx ไม่มีใน PHP5.6 (ถูกถอดถอนจากสารระบบ)
ให้เปลี่ยนไปใช้ mysqli_xxx แทน ...ประมาณนี้
Code (PHP)
$dbquery1 = mysqli_query($conn, $sql1);
$dbquery2 = mysqli_query($conn, $sql2);
$dbquery3 = mysqli_query($conn, $sql3);
mysqli_close($conn);
ส่วนอื่นไปลองศึกษาดู ไม่ต่างกัน
https://www.php.net/manual/en/mysqli.quickstart.dual-interface.php
|
|
|
|
|
Date :
2023-06-28 15:08:13 |
By :
009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอ้โห... 5.2 5.6
ยังใช้อีกเหรอ?
แล้วอัปเกรดทั้งทีไปใช้ 8.2 เลยดีมั้ย ชนขอบล่าสุดไปเลย หรือถ้าไม่อยากปวดกบาลกับกระบวนการพังงานของ PHP ที่พังทุกครั้งที่อัปรุ่น ก็ทยอยหนีไปใช้ภาษาหรือกระบวนการทำงาน ที่อยู่ยาวๆ เช่น JavaScript (Node.js runtime), C#
จริงๆมีที่ต้องแก้หลายเลย นอกจาก function ที่ถูกเอาออกไม่มีให้ใช้แล้วตามข้างบนว่า ก็ยังมีเรื่องของการเปิดแท็ก PHP ที่จะใช้ <?php ไม่ใช่ <? เฉยๆ ยกเว้น <?=$var ?>
เปิดแสดง error ให้หมดทุกอย่าง ( https://rundiz.com/?p=171 ) ในขั้นตอนการทำงานแก้ไข ภายใต้ PHP version ใหม่ๆ แล้วไล่แก้ไปทีละจุดจนกว่าจะหมด หรือจะให้ดีก็เขียนโปรเจ็คใหม่ไปเลยน่าจะง่ายกว่า.
error อะไรก็ค้น Google เอาทีละอย่าง เพราะมีคนบอกวิธีแก้หมดแล้ว.
|
|
|
|
|
Date :
2023-06-28 17:04:26 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนแล้วก็ยัง Insert ไม่ได้ มีอะไรแนะนำเพิ่มรึเปล่าคะ ขอบคุณมากค่ะ
Code (PHP) connect.inc
<?php
$hostname_account = "xxxxxxx";
$database_account = "xxxxxxx";
$username_account = "xxxxxxx";
$password_account = "xxxxxxx";
$account = mysqli_connect($hostname_account, $username_account, $password_account) or trigger_error(mysql_error(),E_USER_ERROR);
mysqli_query("SET CHARACTER SET utf8");
?>
Code (PHP) adddataok.php
<?php
include("connect.inc");
for($i=1;$i<=(int)$_POST["hdnMaxLine"];$i++)
{
$txtaccrec_no1_[$i]=$_POST["txtaccrec_no1_".$i];
$txtaccount_code_[$i]=$_POST["txtaccount_code_".$i];
$txtaccount_name_[$i]=$_POST["txtaccount_name_".$i];
$txtaccrec_debit_[$i]=$_POST["txtaccrec_debit_".$i];
$txtaccrec_credit_[$i]=$_POST["txtaccrec_credit_".$i];
$user_rec=$_POST["user_rec"];
$date_rec=$_POST["date_rec"];
$accrec_fac=$_POST["accrec_fac"];
$plan_name=$_POST["plan_name"];
$plan_code=$_POST["plan_code"];
$sub_name=$_POST["sub_name"];
$sub_code=$_POST["sub_code"];
$fund_name=$_POST["fund_name"];
$fund_code=$_POST["fund_code"];
$accrecno_id=$_POST["accrecno_id"];
$accrecno_name=$_POST["accrecno_name"];
$accrecno_no=$_POST["accrecno_no"];
$accrec_num=$_POST["accrec_num"];
$accrec_date=$_POST["accrec_date"];
$accrec_from=$_POST["accrec_from"];
$accrec_name=$_POST["accrec_name"];
$accrec_user1=$_POST["accrec_user1"];
$accrec_date1=$_POST["accrec_date1"];
$accrec_user2=$_POST["accrec_user2"];
$accrec_date2=$_POST["accrec_date2"];
$accrec_user3=$_POST["accrec_user3"];
$accrec_date3=$_POST["accrec_date3"];
$accrec_user4=$_POST["accrec_user4"];
$accrec_date4=$_POST["accrec_date4"];
$doc_comment1=$_POST["doc_comment1"];
$doc_comment2=$_POST["doc_comment2"];
$doc_type1=$_POST["doc_type1"];
$doc_type2=$_POST["doc_type2"];
include("connect.inc");
$sql1 = "insert into accrec (user_rec,date_rec,accrec_fac,plan_name,plan_code,sub_name,sub_code,fund_name,
fund_code,accrecno_id,accrecno_name,accrecno_no,accrec_num,accrec_date,accrec_from,accrec_name,accrec_no1,account_name,account_code,accrec_debit,accrec_credit,accrec_user1,accrec_date1,accrec_user2,accrec_date2,accrec_user3,accrec_date3) values
('$user_rec','$date_rec','$accrec_fac','$plan_name','$plan_code','$sub_name','$sub_code','$fund_name',
'$fund_code','$accrecno_id','$accrecno_name','$accrecno_no','$accrec_num','$accrec_date','$accrec_from','$accrec_name','$txtaccrec_no1_[$i]','$txtaccount_name_[$i]','$txtaccount_code_[$i]','$txtaccrec_debit_[$i]','$txtaccrec_credit_[$i]','$accrec_user1','$accrec_date1','$accrec_user2','$accrec_date2','$accrec_user3','$accrec_date3') ";
$dbquery1 = mysqli_query($database_account, $sql1);
$sql4 = "insert into sumdoc (user_rec,date_rec,accrec_fac,plan_name,plan_code,sub_name,sub_code,
fund_name,fund_code,doc_type1,doc_type2,accrecno_id,accrecno_name,
accrecno_no,accrec_num,doc_date1,doc_date2,accrec_from,accrec_name,
accrec_no1,account_name,account_code,accrec_debit,accrec_credit,
accrec_user1,accrec_date1,accrec_user2,accrec_date2,accrec_user3,
accrec_date3,accrec_user4,accrec_date4,doc_comment1,doc_comment2) values
('$user_rec','$date_rec','$accrec_fac','$plan_name','$plan_code','$sub_name','$sub_code','$fund_name',
'$fund_code','$doc_type1','$doc_type2','$accrecno_id','$accrecno_name','$accrecno_no','$accrec_num','$accrec_date','$doc_date2','$accrec_from','$accrec_name','$txtaccrec_no1_[$i]','$txtaccount_name_[$i]','$txtaccount_code_[$i]','$txtaccrec_debit_[$i]','$txtaccrec_credit_[$i]','$accrec_user1','$accrec_date1','$accrec_user2','$accrec_date2','$accrec_user3','$accrec_date3','$accrec_user4','$accrec_date4','$doc_comment1','$doc_comment2')
";
$dbquery4 = mysqli_query($database_account, $sql4);
}
for($k=0;$k<count($_POST["accrec_amount"]);$k++)
{
$accrec_num=$_POST["accrec_num"];
$accrec_check[$k]=$_POST["accrec_check".$k];
$accrec_namebank[$k]=$_POST["accrec_namebank".$k];
$accrec_bankunit[$k]=$_POST["accrec_bankunit".$k];
$accrec_numcheck[$k]=$_POST["accrec_numcheck".$k];
$accrec_bankdate[$k]=$_POST["accrec_bankdate".$k];
$accrec_banknumno[$k]=$_POST["accrec_banknumno".$k];
$accrec_amount[$k]=$_POST["accrec_amount".$k];
include("connect.inc");
$sql2 = "insert into bank_accrec
(accrec_num,accrec_check,accrec_namebank,accrec_bankunit,
accrec_numcheck,accrec_bankdate,accrec_banknumno,accrec_amount) values
('$accrec_num','$accrec_check[$k]','$accrec_namebank[$k]','$accrec_bankunit[$k]',
'$accrec_numcheck[$k]','$accrec_bankdate[$k]','$accrec_banknumno[$k]','$accrec_amount[$k]') ";
$dbquery2 = mysqli_query($database_account, $sql2);
}
for($j=0;$j<count($_POST["des_accrec_amount"]);$j++)
{
$accrec_num=$_POST["accrec_num"];
$des_accrec_name[$j]=$_POST["des_accrec_name".$j];
$des_accrec_amount[$j]=$_POST["des_accrec_amount".$j];
$des_accrec_date[$j]=$_POST["des_accrec_date".$j];
include("connect.inc");
$sql3 = "insert into descript_accrec (accrec_num,des_accrec_name,des_accrec_amount,des_accrec_date) values
('$accrec_num','$des_accrec_name[$j]','$des_accrec_amount[$j]','$des_accrec_date[$j]') ";
$dbquery3 = mysqli_query($database_account, $sql3);
}
mysqli_close($database_account);
echo "<div align=\"center\"><br>";
echo "<font color=\"#0033CC\" size=\"2\" face=\"Microsoft Sans Serif\">เพิ่มข้อมูลเรียบร้อยแล้ว</font></div>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=accrec_show.php\">";
?>
|
|
|
|
|
Date :
2023-06-29 10:02:24 |
By :
suntareesr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำตามที่ผมบอกในลิ้งค์ข้างบน ปรับ php.ini ให้มันแสดง error ให้หมด
ในขั้นตอนการเขียนโค้ดไม่ต้องไปกลัวไม่ต้องไปพยายามปกปิดมัน เพราะ notice/warning/error มีประโยชน์มากในการเขียน ทำให้เราเขียนได้ถูกต้อง ป้องกันปัญหาระยะยาว และช่วยจี้จุดให้เราในกรณีที่เขียนผิด
|
|
|
|
|
Date :
2023-06-29 10:32:58 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mysqli_xxx function นั้นไม่ใช่ว่าคุณจะเปลี่ยนจาก mysql_ ไปเป็น mysqli_ แล้วจะจบจะใช้งานได้
ให้คุณอ่านเอกสารอ้างอิงด้วยครับ https://www.php.net/manual/en/mysqli.query.php เพราะมันจะมี argument ที่แตกต่างกันอยู่
กรณีของคุณไม่ได้เขียนแบบ object แต่แบบ procedural style ก็ดูอ้างอิงตามนั้น
หรือกระทู้ใน thaicreate ก็มีตั้งไว้แล้ว https://www.thaicreate.com/php/forum/095986.html ลองอ่านดูครับ ตัวอย่างเพียบ
กรณีถ้าจะเขียนใหม่ ผมแนะนำให้ย้ายไปใช้ PDO เลยจะดีกว่า เพราะมีการใช้ placeholder (prepare+bind value) แบบตั้งชื่อได้ ทำให้ไล่ตรวจง่ายไม่งง
|
|
|
|
|
Date :
2023-06-29 10:39:56 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|