11/07/2016

PHP : PHP SQLi มีปัญหา Query ค่าไม่ได้ เพราะไม่ได้ระบุ Table ให้กับ Code SQL

PHP : PHP SQLi มีปัญหา Query ค่าไม่ได้ เพราะไม่ได้ระบุ Table ให้กับ Code SQL
Set ให้ Show Error โดย
  1. mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
  1. echo $result;
  2. print_r($result);

ไม่มีค่าออก

แต่ echo $SQL แล้วนำไป Run ที่ phpmyadmin แล้วได้ค่า
เกิดจาก Classes ของ sqli ที่ใช้ติดต่อ ฐานข้อมูลมีปัญหาใช้งานไม่ได้ ต้องเขียน Code ติดต่อแบบตรง ๆ
Code:
  1.     $con=mysqli_connect("localhost","my_user","my_password","my_db");
  2. // Check connection
  3. if (mysqli_connect_errno())
  4.   {
  5.   echo "Failed to connect to MySQL: " . mysqli_connect_error();
  6.   }
  7.  
  8. $sql="SELECT Lastname,Age FROM Persons ORDER BY Lastname";
  9. $result=mysqli_query($con,$sql);
  10.  
  11. // Numeric array
  12. $row=mysqli_fetch_array($result,MYSQLI_NUM);
  13. printf ("%s (%s)\n",$row[0],$row[1]);
  14.  
  15. // Associative array
  16. $row=mysqli_fetch_array($result,MYSQLI_ASSOC);
  17. printf ("%s (%s)\n",$row["Lastname"],$row["Age"]);
  18.  
  19. // Free result set
  20. mysqli_free_result($result);
  21.  
  22. mysqli_close($con);
  23.  
  24.  


http://www.w3schools.com/php/func_mysqli_fetch_array.asp

หรือระบบ Table ให้กับคำสั่ง SQL
  1.     $SQL0 = "SELECT main.fx_date, round1.fx_buy AS r1, round2.fx_buy AS r2
  2.         FROM (SELECT DISTINCT fx_date FROM sci_fx.fx) AS main
  3.         LEFT JOIN sci_fx.fx AS round1 ON round1.fx_date = main.fx_date AND round1.fx_round = '0'
  4.         LEFT JOIN sci_fx.fx AS round2 ON round2.fx_date = main.fx_date AND round2.fx_round = '1'
  5.         WHERE round1.fx_buy > round2.fx_buy";
  6.  
  7.         $result = $mysqli->query($SQL0);
  8.         print_r($result);
  9.  
  10.         $rows = $result->fetch_assoc();
  11.         $fx_date = $rows["fx_date"];   
  12.  


ตัวอย่าง https://intranet.sci.com/sci/AF/fx_chart.php

No comments:

Post a Comment