ภาษา C ติดต่อ MySQL

จาก คราวที่แล้ว กับ Jsp คราวนี้ มาใช้ C ครับ

คำสั่งติดต่อฐานข้อมูล

#include 
#include 
int main(){
/* ทำการประกาศ ตัวแปร ให้เรียบร้อย */
MYSQL mysql;
mysql_init(&mysql);
/* เอาคำสั่ง ติดต่อ ไปไว้อยู่ใน เงื่อนไข */
if (!mysql_real_connect(&mysql,"ชื่อเซิฟเวอร์","ยูเซอร์","รหัสผ่าน","ชื่อฐานข้อมูล",0,NULL,0))
{
/* ติดต่อไม่ได้ พร้อม ปริ้นค่า เออเลอร์ */
fprintf(stderr, "ไม่สามารถติดต่อฐานข้อมูลได้ : Error: %s\n",
mysql_error(&mysql));
}
else {
printf("เย้ ติดต่อฐานข้อมูลได้แล้ว");
}
return 0;
}

ดึงข้อมูลออกมาโชว์

#include 
#include 
int main(){
/* ทำการประกาศ ตัวแปร ให้เรียบร้อย */
MYSQL mysql;
MYSQL_ROW row;
MYSQL_RES *result;
unsigned int num_fields;
unsigned int i;
mysql_init(&mysql);
/* เอาคำสั่ง ติดต่อ ไปไว้อยู่ใน เงื่อนไข */
if (!mysql_real_connect(&mysql,"ชื่อเซิฟเวอร์","ยูเซอร์","รหัสผ่าน","ชื่อฐานข้อมูล",0,NULL,0))
{
/* ติดต่อไม่ได้ พร้อม ปริ้นค่า เออเลอร์ */
fprintf(stderr, "ไม่สามารถติดต่อฐานข้อมูลได้ : Error: %s\n",
mysql_error(&mysql));
}
else {
/* ถ้าได้ ก็ทำการ คิวรี่ คำสั่ง SQL */
if(mysql_query(&mysql, "SELECT * FROM tablename"));
else {
// รวบรวมคำสั่ง คิวรี่ไว้ใน ตัวแปร result
result = mysql_store_result(&mysql);
// เก็บ ค่าของฟิวส์ ไว้ในตัวแปร num_fields
num_fields = mysql_num_fields(result);
// ลูป ข้อมูลแต่ล่ะแถว โดยเก็บไว้ในตัวแปร row
while ((row = mysql_fetch_row(result)))
{
unsigned long *lengths;
lengths = mysql_fetch_lengths(result);
for(i = 0; i < num_fields; i++)
{
// ปริ้นค่ามันออกมา จาก อาเรย์ โดยใช้ i เป็นตัวเพิ่มค่า จนกว่าจะหลุดออกจากลูป
printf("[%.*s] \t", (int) lengths[i], row[i] ? row[i] : "NULL");
}
printf("\n");
}
}
}
return 0;
}

 

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น