|
|
|
รบกวนแปลงโค้ดจาก mysql เป็น mysqli ให้ทีครับ พอดีทำแล้วไม่ได้ |
|
|
|
|
|
|
|
พอดีดูจากบทความนี้ เลยสนใจจะเอาไปทำ autofill
https://www.thaicreate.com/community/jquery-auto-fill-textbox.html
แต่ผมใช้ php 7 มันใช้ mysql ปกติไม่ได้ เลยอยากจะรบกวนแปลงโค้ดให้หน่อยครับ ขอบคุณมากๆ ครับ
Code
<?php
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer WHERE 1 AND CustomerID = '".$_POST["sCusID"]."' ";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>
แก้ไขนะครับเผื่อเข้าใจผิด : ของผมทำได้ทั้งหมดครับ ติดที่ $arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i]; ตรงนี้ตรงจุดเดียวครับ นั่งหาทั้งวันแล้วครับ ไม่รู้จะต้องทำยังไง ลองใส่เป็น mysqli_fetch_field กับ mysqli_field_name ก็ไม่ได้ครับ
อันนี้คือโค้ดที่ผมแก้ไว้ใช้งานแล้ว
Code
<?php
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "rootrootroot";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT supplier FROM bom WHERE partno = '".$_GET["partno"]."' ";
$query = mysqli_query($conn,$sql);
$intNumField = mysqli_num_fields($query);
$resultArray = array();
while($obResult = mysqli_fetch_array($query))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($query,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysqli_close($conn);
echo json_encode($resultArray);
?>
Tag : PHP
|
ประวัติการแก้ไข 2017-07-10 20:12:02 2017-07-10 20:14:01 2017-07-10 20:16:55 2017-07-10 20:17:26
|
|
|
|
|
Date :
2017-07-10 19:53:46 |
By :
purit |
View :
5098 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าคุณศึกษาด้วยตัวคุณเองจะดีกว่า เปรียบเที่ยบแต่ละคำสั่ง จะได้รู้ว่าใช้งานยังไง
เป็นประโยชน์ต่อตัวคุณเองมากกว่า
ใช้ google ให้เป็นประโยชนฺ์ พิมพ์คำสั่งเก่าเข้าไป เดี๋ยวคำสั่งใหม่ก็จะออกมาด้วย เขามีตัวช่วยเหลือเยอะแยะ
จากที่ดูนี่คุณลอกเขามาโดยไม่รู้ว่าแต่ละคำสั่งเขาใช้งานยังไง เลยไม่รู้จะแปลงเป็นของใหม่ยังไง
ถ้าคุณรู้ว่าของเก่าทำงานยังไงคุณต้องรู้ว่าของใหม่ทำงานยังไงเพราะไม่ได้ต่างกันสักเท่าไหร่
เสียเวลาเรียนรู้สักนิดจะได้ประโยชน์มากกว่า
|
|
|
|
|
Date :
2017-07-10 20:06:57 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำเปลี่ยนเป็น OOP และบางคำสั่งก็ไม่จำเป็น
Code (PHP)
<?php
$mydb = new mysqli("localhost","root","root", "mydatabase") or die( mysqli_connect_error());
$strSQL = "SELECT * FROM customer WHERE 1 AND CustomerID = '".$_POST["sCusID"]."' ";
$result = $mydb->query($strSQL) or die ($mydb->error);
//$intNumField = $result->field_count(); //ไม่จำเป็นต้องใช้
$resultArray = array();
while($row = $result->fetch_assoc()){ // ใช้คำสั่ง assoc จะได้ array ที่เป็น keyname ไม่ใช่ keynumber
$resultArray[]=$row;
}
$mydb->close();
echo json_encode($resultArray);
?>
|
|
|
|
|
Date :
2017-07-10 20:53:39 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2017-07-11 09:27:57 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|