ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingช่วยผมดูโค้ดด้วยครับ ผมจะเพิ่มข้อมูลลง mysql ครับ ถ้าดึงออกมาโชว์ต้องเขียนโค้ด?
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ช่วยผมดูโค้ดด้วยครับ ผมจะเพิ่มข้อมูลลง mysql ครับ ถ้าดึงออกมาโชว์ต้องเขียนโค้ด?  (อ่าน 1304 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« เมื่อ: 11 มิถุนายน 2010, 23:58:39 »

คือว่าผมทำแล้วมันไม่เก็บข้อมูลงฐานข้อมูลเลยครับ
มันบอก INSERT มีข้อผิดพลาดเกิดขึ้น

ผมต้องแก้ที่ไหนครับ


ในฐานข้อมูลมันไม่เป็นภาษาไทยครับ
ถ้าผมต้องการสร้างหน้าดึงข้อมูลออกมาโชว์จะต้องเขียนโค้ดอย่างไรครับ


หน้ากรอกแบบฟร์อม  http://isanthai.com/fromonline/
<html>
<head>
<title>ผู้ใช้งานอินเตอร์เน็ตใช้ค่ายไหน</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<style type="text/css">
<!--
#apDiv1 {
   position:absolute;
   width:171px;
   height:37px;
   z-index:1;
   left: 165px;
   top: 11px;
}
body,td,th {
   font-size: 18px;
   font-family: Tahoma, Geneva, sans-serif;
}
h1,h2,h3,h4,h5,h6 {
   font-family: Tahoma, Geneva, sans-serif;
}
-->
</style>
</head>

<body>
<p>&nbsp;</p>
<center>
  <strong><font size="5"> ผู้ใช้งานอินเตอร์เน็ตใช้เน็ตค่ายไหน</font></strong>
</center>
<center><form action="add.php" method="post">
  <table width="439" border="0" cellspacing="1" cellpadding="3">
    <tr bgcolor="#0099FF">
      <td><font size="2" face="Tahoma, MS Sans Serif"><strong>ชื่อ
        :</strong></font></div></td>
      <td><font size="2" face="Tahoma, MS Sans Serif">
        <input name="Name" type="text" id="Name" size="30" maxlength="30">
        </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>ใช้เน็ตค่ายไหน</td>
      <td><font size="2" face="Tahoma, MS Sans Serif">
        <input name="ISP" type="text" id="ISP" size="30" maxlength="30">
        </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>อายุ
        
        
        
        <td><font size="2" face="Tahoma, MS Sans Serif">
          <input name="Age" type="text" id="Age" size="30" maxlength="30">
        </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>จังหวัด</td>
      <td><font size="2" face="Tahoma, MS Sans Serif">
        <input name="Province" type="text" id="Province" size="30" maxlength="30">
        </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>บ้านนอกหรือในเมือง</td>
      <td><font size="2" face="Tahoma, MS Sans Serif">
        <input name="Country_City" type="text" id="Country_City" size="30" maxlength="30">
      </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>เหตุผลที่ใช้</td>
      <td><font size="2" face="Tahoma, MS Sans Serif">
        <input name="Why" type="text" id="Why" size="30" maxlength="30">
        </font></td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr bgcolor="#0099FF">
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value=" เพิ่มลงฐานข้อมูล">
      <label>
        <input type="reset" name="Reset" id="button" value="ลบข้อมูล">
      </label></td>
    </tr>
  </table>
</form></center>
</body>
</html>


หน้า  add.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
$hostname = "localhost";
$username = "-----มีแล้ว-------";
$password = "-----มีแล้ว-------";
$dbname = "-----มีแล้ว---------";

$conn = mysql_connect( $hostname, $username, $password );
if ( ! $conn )
    die ( "ไม่สามารถติดต่อกับ MySQL  ได้" );
    
mysql_select_db ( $dbname, $conn )
    or die ( "ไม่สามารถเลือกฐาน ข้อมูล isanthai_fon ได้" );
            
$SQLTXT = "INSERT INTO NET ( Name,ISP,Age,Province,Country_City,Why ) ";
$SQLTXT .= "VALUES ( '$Name','$ISP','$Age','$Province','$Country_City','$Why' ) ";
mysql_query( $SQLTXT, $conn )
    or die ( "INSERT มีข้อผิดพลาดเกิดขึ้น" ) . mysql_error();
mysql_close ( $conn );
?>
<p align="center"& amp; gt;<font size="2" face="Tahoma, MS Sans& nbsp;Serif"><strong>เพิ่มข้อมูลลงฐานข้อมูล แล้ว</strong></font></p>
<p align="center"& gt;<font size="2" face="Tahoma, MS Sans& nbsp;Serif"><a href="code14_022.php">คลิกที่นี่เพื่อไป ดู</a></font></p>
</body>
</html>


ขอบคุณมากนะครับ
« แก้ไขครั้งสุดท้าย: 12 มิถุนายน 2010, 01:05:34 โดย ab2f6 » บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 มิถุนายน 2010, 00:26:57 »

บรรทัด
$SQLTXT .= "VALUES ( '$Name','$ISP','$Age','$Province','$Country_City','$Why' ) ";

แก้เป็น
$SQLTXT .= "VALUES ( '".$_POST['Name']."','".$_POST['ISP']."','".$_POST['Age']."','".$_POST['Province']."','".$_POST['Country_City']."','".$_POST['Why']."' ) ";

อันนี้แก้เรื่องข้อผิดพลาด เป็นปัญหาเรื่อง register global (ค้น google ดูได้นะ)

ส่วนอีกอันที่น่าแก้คือ

    or die ( "INSERT มีข้อผิดพลาดเกิดขึ้น" ) . mysql_error();

แก้เป็น

    or die ( "INSERT มีข้อผิดพลาดเกิดขึ้น" ) . mysql_error($conn);


เวลามี error อีกมันจะแสดงสาเหตุที่เกิด error ด้วย
บันทึกการเข้า

aek26
สมุนแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 572



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 12 มิถุนายน 2010, 00:28:55 »

โค๊ด:
<?php
$hostname 
"localhost";
$username "-----มีแล้ว-------";
$password "-----มีแล้ว-------";
$dbname "-----มีแล้ว---------";

[
color=red]$Name trim($_POST['Name']);
$ISP trim($_POST['ISP']);
$Age trim($_POST['Province']);
$Country_City trim($_POST['Country_City']);
$Why trim($_POST['Why']);

$Name addslashes($Name);
$ISP addslashes($ISP);
$Age addslashes($Age);
$Country_City addslashes($Country_City);
$Why addslashes($Why);[/color]

$conn mysql_connect$hostname$username$password );
if ( ! 
$conn )

file add.php ยังไงมีตัวรับค่ากับเติม addslashes  ถ้าติดต่่อ db ได้ไม่หน้ามีปัญหา  ลองดูครับผม wanwan019
บันทึกการเข้า

เพราะแสวงหา มิใช่เพราะรอคอย เพราะเชี่ยวชาญ มิใช่เพราะโอกาส เพราะสามารถ มิใช่เพราะโชคช่วย ดังนี้แล้ว "ลิขิตฟ้าหรือจะสู้มานะตน"
พวงกุญแจ
พวงกุญแจอะคริลิค
พวงกุญแจไม้
ของชำร่วย
chamegonrak
คนรักเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 112



ดูรายละเอียด
« ตอบ #3 เมื่อ: 12 มิถุนายน 2010, 00:33:22 »

ใส่ชื่อ table หมดหรือยังครับ ลองเช็คตัวเล็กตัวใหญ่ดูนะครับ ว่าเหมือนกันหรือเปล่า ส่วนที่เหลือก็ไม่ค่อยรู้เรื่องแหละ  Tongue
บันทึกการเข้า

L O V E u
ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« ตอบ #4 เมื่อ: 12 มิถุนายน 2010, 00:34:26 »

บรรทัด
$SQLTXT .= "VALUES ( '$Name','$ISP','$Age','$Province','$Country_City','$Why' ) ";

แก้เป็น
$SQLTXT .= "VALUES ( '".$_POST['Name']."','".$_POST['ISP']."','".$_POST['Age']."','".$_POST['Province']."','".$_POST['Country_City']."','".$_POST['Why']."' ) ";

อันนี้แก้เรื่องข้อผิดพลาด เป็นปัญหาเรื่อง register global (ค้น google ดูได้นะ)

ส่วนอีกอันที่น่าแก้คือ

    or die ( "INSERT มีข้อผิดพลาดเกิดขึ้น" ) . mysql_error();

แก้เป็น

    or die ( "INSERT มีข้อผิดพลาดเกิดขึ้น" ) . mysql_error($conn);


เวลามี error อีกมันจะแสดงสาเหตุที่เกิด error ด้วย

ขอบคุณมากครับพี่  ได้แล้วครับ  +1 ครับ

บันทึกการเข้า

ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« ตอบ #5 เมื่อ: 12 มิถุนายน 2010, 00:34:59 »

โค๊ด:
<?php
$hostname 
"localhost";
$username "-----มีแล้ว-------";
$password "-----มีแล้ว-------";
$dbname "-----มีแล้ว---------";

[
color=red]$Name trim($_POST['Name']);
$ISP trim($_POST['ISP']);
$Age trim($_POST['Province']);
$Country_City trim($_POST['Country_City']);
$Why trim($_POST['Why']);

$Name addslashes($Name);
$ISP addslashes($ISP);
$Age addslashes($Age);
$Country_City addslashes($Country_City);
$Why addslashes($Why);[/color]

$conn mysql_connect$hostname$username$password );
if ( ! 
$conn )

file add.php ยังไงมีตัวรับค่ากับเติม addslashes  ถ้าติดต่่อ db ได้ไม่หน้ามีปัญหา  ลองดูครับผม wanwan019

ขอบคุณพี่ มากครับผม +1
บันทึกการเข้า

ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« ตอบ #6 เมื่อ: 12 มิถุนายน 2010, 00:36:13 »

ใส่ชื่อ table หมดหรือยังครับ ลองเช็คตัวเล็กตัวใหญ่ดูนะครับ ว่าเหมือนกันหรือเปล่า ส่วนที่เหลือก็ไม่ค่อยรู้เรื่องแหละ  Tongue


ได้แล้วครับ  ขอบคุณมากครับพี่

+1
บันทึกการเข้า

ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« ตอบ #7 เมื่อ: 12 มิถุนายน 2010, 01:06:07 »

ในฐานข้อมูลมันไม่เป็นภาษาไทยครับ
ถ้าผม ต้องการสร้างหน้าดึงข้อมูลออกมาโชว์จะต้องเขียนโค้ดอย่างไรครับ



ขอบคุณครับ
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 12 มิถุนายน 2010, 01:17:25 »

ดูใน phpmyadmin แล้วไม่เป็นภาษาไทย
แปลว่าคงเป็น latin1 หรือ tis620 (จริงๆ ก็แนวเดียวกัน ascii)

ก็เขียนดึงมาแสดงตามปกติแหละครับ
mysql_query สั่ง select
แล้วค่อย mysql_fetch_array ดึงวนลูปออกมาแสดงผลเอา

แล้วถ้าผลยังไม่ออกมาเป็นภาษาไทย ค่อยกำหนดพวก set names อะไรไปอีกทีหนึ่ง
ลองค้น set names ในบอร์ด จะมีคุยเรื่อง mysql กับการแสดงผลเยอะมาก  wanwan035
บันทึกการเข้า

ab2f6
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 1,114



ดูรายละเอียด
« ตอบ #9 เมื่อ: 12 มิถุนายน 2010, 13:05:59 »

ดูใน phpmyadmin แล้วไม่เป็นภาษาไทย
แปลว่าคงเป็น latin1 หรือ tis620 (จริงๆ ก็แนวเดียวกัน ascii)

ก็เขียนดึงมาแสดงตามปกติแหละครับ
mysql_query สั่ง select
แล้วค่อย mysql_fetch_array ดึงวนลูปออกมาแสดงผลเอา

แล้วถ้าผลยังไม่ออกมาเป็นภาษาไทย ค่อยกำหนดพวก set names อะไรไปอีกทีหนึ่ง
ลองค้น set names ในบอร์ด จะมีคุยเรื่อง mysql กับการแสดงผลเยอะมาก  wanwan035


เดี๋ยวผมจะลองทำดูครับ
ผมเซตเป็น utf-8 ครับ
แต่ก็เป็นเหมือนเดิม
แล้วก็ลองเซตเป็น  tis620  ก็เป็นอีกครับ

ขอบคุณมากครับ
+1
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 12 มิถุนายน 2010, 13:12:03 »

จะทำพวกเกี่ยวกับ mysql ต้องระวังสองจุดครับ

จุดแรกคือ php ต่อไปหา mysql
ต้องใช้คำสั่งคุมพวก mysql_query สั้ง set names
set character collate (มั้งแนวๆ นี้ ผมลืม  Tongue)
คือคุมเรื่องการส่งข้อมูลออกมาจาก MYSQL ให้มันออกมาถูกต้อง

อีกจุดคือ <meta> ของ html ก็ต้องตรงกันด้วย
ถ้า mysql ออกมาเปน utf8 ก็อย่าลืมว่า <meta> ก็ต้อง utf8 ด้วย

แต่ก็มีอีกจุดที่ควรระวัง (ในกรณีมีค่า static ที่จะยัดเข้า mysql)
คือไฟล์ php นั้นก็ต้องเซฟ encoding ให้ถูกด้วย
ถ้าเป็น utf8 ก็เซฟให้เป็น utf8
ถ้าเป็น tis620 หรือ LATIN1 ก็เซฟให้เป็น ASCII

 Tongue
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์