 |
ความแตกต่างระหว่าง $dbquery= mysql_db_query($sql); $dbquery= mysql_db_query($dbname,$sql) $dbquery= mysql_query($sql) |
|
 |
|
|
 |
 |
|
แบบที่ 1 ผิดเลยครับ mysql_db_query() ต้องใช้ในแบบ
mysql_db_query($database, $query) เท่านั้น
mysql_db_query() ต่างกับ mysql_query() ตรงที่
mysql_db_query() จะต้องระบุ database ที่ใช้ทุกครั้ง
มันมีค่าเท่ากับการสั่ง SQL
Code (SQL)
USE DATABASE ???
ทุกครั้ง ก่อนที่จะสั่ง query จริง ดังนั้นมันจะทำงานหนักกว่า mysql_query() เหมือนสั่ง 2 query ทุกครั้ง
เพราะ mysql_query() จะใช้ default database จากการเรียก mysql_select_db() หรือ USE DATABASE ก่อนหน้า
จึงเป็นการสั่ง query เดียวจริงๆ
mysql_db_query() จึงเป็นฟังก์ชั่นที่ไม่ควรใช้ และถูก deprecated มาตั้งแต่ PHP เวอร์ชั่น 4.06 แล้ว (และแสดง error ถ้ามีการใช้งานใน php 5.3)
แต่ทั้งนี้ทั้งนั้น เราไม่ควรใช้มันทั้งหมดครับ ควรเลิกใช้ mysql_xxxxx() ได้แล้ว
|
ประวัติการแก้ไข 2013-10-13 15:07:38
 |
 |
 |
 |
Date :
2013-10-13 14:26:09 |
By :
phpinfo() |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ปกติติดต่อผม ใช้แบบนี้ครับ ขอคำแนะนำด้วยครับท่าน phpinfo() ว่าทำอย่างไรจึงจะเหมาะสม
ปล. งานที่ทำใช้ DB หลายตัวครับ เลยจำเป็นต้องเขียนแบบนี้ กันข้อผิดพลาด. . . พอจะมีตรงไหนที่ควรปรับและลดข้อผิดพลาดและช่วยประหยัดรัพยากร Server ได้บ้างครับ มีทั้งหมด 3 ไฟล์ครับ ประกอบด้วย
1. config.php .>>> เก็บพวก username password DB
2. function.php >> เก็บฟังชั่นคอนเน็ค DB
3. fileทั่วไป.php >> ไฟล์ทั่วไปทุกๆครั้งต้องเรียกใช้ 2 ตัวด้านบนเพื่อคอนเน็คก่อนทำการใดๆกับฐานข้อมูล
1. config.php
<?
$ServerName = "localhost";
$UserName = "root";
$UserPassword = "1234";
$DataBaseName = "xxx";
?>
2. function.php
<?
$conn;
function Conn2DB()
{
global $conn;
global $ServerName;
global $UserName;
global $UserPassword;
global $DataBaseName;
$conn = mysql_connect ($ServerName,$UserName,$UserPassword);
mysql_query("SET NAMES UTF8");
if (!$conn)
die ("ไม่สามารถติดต่อกับฐานข้อมูลได้");
mysql_select_db ($DataBaseName ,$conn)
or die ("ไม่สามารถเลือกใช้งานฐานข้อมูล $DataBaseName ได้");
}
?>
3. fileทั่วไป.php
include ("config.php");
include ("function.php");
Conn2DB();
sql="SELECT*FROM xxx";
$dbquery= mysql_db_query($DataBaseName,$sql);
|
ประวัติการแก้ไข 2013-10-13 14:53:17
 |
 |
 |
 |
Date :
2013-10-13 14:52:41 |
By :
meannerss |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าต้องระบุ database ก็ใช้ SQL ไปโดยตรงเลยครับ
SELECT * FROM `database_name`.`table_name`
|
 |
 |
 |
 |
Date :
2013-10-13 15:10:28 |
By :
phpinfo() |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|