บันทึกข้อมูลลงฐานข้อมูลไม่ได้ ไม่ทราบว่าผิดตรงไหนค่ะ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
moomai
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 680
ลงทะเบียนเมื่อ: 07/12/2016 10:54 am

บันทึกข้อมูลลงฐานข้อมูลไม่ได้ ไม่ทราบว่าผิดตรงไหนค่ะ

โพสต์โดย moomai » 17/03/2017 11:36 am

บันทึกข้อมูลลงฐานข้อมูลไม่ได้ ไม่ทราบว่าผิดตรงไหนค่ะ
คือตอนนี้จะบันทึกเลข IP กับเวลาให้ลงฐานข้อมูลก่อน คือเปิดโปรแกรมแล้วให้มันบันทึกลงฐานข้อมูลเลย ไม่ทราบว่าผิดตรงไหนคะ
โค้ดที่ทำ

โค้ด: เลือกทั้งหมด

<?php
   require_once'conn.php';
   include '../header.php';
   
   
   
   $sql = "SELECT * FROM $dataip ORDER BY id desc Limit 10";
   $result = mysql_query($sql);
   
?>

<link rel="stylesheet" href="css/m.css">

<meta charset="UTF-8">
<title>Index_IP</title>

<ol class="breadcrumb">     
   <li role="presentation"><a href="#"><i class="glyphicon glyphicon-cog"></i> Tools</a></li>
   <li role="presentation" class="active"><a href="index.php"><i class="glyphicon glyphicon-file"></i> Index</a></li>         
</ol>

<?php
   date_default_timezone_set("Asia/Bangkok");
   $timezone = time();
   $ip = $_SERVER["REMOTE_ADDR"];
   $xml_value = file_get_contents('http://freegeoip.net/xml/'.$ip);
   
   $result_xml = simplexml_load_string($xml_value);
   // print '<pre>';
   // var_dump($result_xml);
   // print '</pre>';
   $ip = $result_xml->IP;
   $CountryCode = $result_xml->CountryCode[0];
   $CountryName = $result_xml->CountryName[0];
   $RegionCode = $result_xml->RegionCode[0];
   $RegionName = $result_xml->RegionName[0];
   $City = $result_xml->City[0];
   $ZipCode = $result_xml->ZipCode[0];
   $timezone = $result_xml->TimeZone[0];
   $Latitude = $result_xml->Latitude[0];
   $Longitude = $result_xml->Longitude[0];
   $MetroCode = $result_xml->MetroCode[0];   
?>

<div class="content">
   <div class="well well-lg">
      <div align="center">
         <?php echo " <h3>หมายเลข IP Address ของคุณคือ  <br>". $ip ."<br></h3>";
            echo " เวลาเข้าใช้งาน : ".date("Y-m-d / H:i:s ", time());
         ?>
      </div>
   </div>
   
   <div class="well well-lg">
      <h3>IP Address</h3>
      <FONT SIZE=3>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
         <b>IP Address</b> ย่อมาจากคำเต็มว่า " <i>Internet Protocal Address</i> " คือ หมายเลขประจำเครื่องคอมพิวเตอร์แต่ละเครื่องในระบบเครือข่ายที่ใช้โปรโตคอลแบบ TCP/IP ถ้าเปรียบเทียบก็คือบ้านเลขที่ของเรานั่นเอง ในระบบเครือข่าย จำเป็นจะต้องมีหมายเลข IP กำหนดไว้ให้กับคอมพิวเตอร์ และอุปกรณ์อื่นๆ ที่ต้องการ IP ทั้งนี้เวลามีการโอนย้ายข้อมูล หรือสั่งงานใดๆ จะสามารถทราบตำแหน่งของเครื่องที่เราต้องการส่งข้อมูลไป จะได้ไม่ผิดพลาดเวลาส่งข้อมูล ซึ่งประกอบด้วยตัวเลข 4 ชุด มีเครื่องหมายจุดขั้นระหว่างชุด  เช่น 192.168.100.1 หรือ 172.16.10.1  เป็นต้น  โดยหมายเลข IP Address ของเครื่องคอมพิวเตอร์แต่ละเครื่องจะมีค่าไม่ซ้ำกัน สิ่งตัวเลข 4 ชุดนี้บอก คือ Network ID กับ Host ID ซึ่งจะบอกให้รู้ว่า เครื่อง Computer ของเราอยู่ใน Network ไหน และเป็นเครื่องไหนใน network นั้น เราจะรู้ได้อย่างไรว่า Network ID และ Host ID มีค่าเท่าไหร่ ก็ขึ้นอยู่กับว่า IP Address นั้น อยู่ใน class อะไร
         <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
         เหตุที่ต้องมีการแบ่ง class ก็เพื่อให้เกิดความเป็นระเบียบ เป็นการแบ่ง IP Address ออกเป็นหมวดหมู่นั้นเอง สิ่งที่จะเป็นตัวจำแนก class ของ network ก็คือ bit ทางซ้ายมือสุดของตัวเลขตัวแรกของ IP Address (ที่แปลงเป็นเลขฐาน 2 แล้ว) นั่นเอง โดยที่ถ้า bit ทางซ้ายมือสุดเป็น 0 ก็จะเป็น class A ถ้าเป็น 10 ก็จะเป็น class B ถ้าเป็น 110 ก็จะเป็น class C ดังนั้น IP Address จะอยู่ใน class A ถ้าตัวเลขตัวแรกมีค่าได้ตั้งแต่ 0 ? 127 (000000002 ? 011111112) จะอยู่ใน class B ถ้าเลขตัวแรกมีค่าตั้งแต่ 128 ? 191 (100000002 ? 101111112) และ จะอยู่ใน class C ถ้าเลขตัวแรกมีค่าตั้งแต่ 192 - 223 (110000002 ? 110111112) มีข้อยกเว้นอยู่นิดหน่อยก็คือตัวเลข 0, 127 จะใช้ในความหมายพิเศษ จะไม่ใช้เป็น address ของ network ดังนั้น network ใน class A จะมีค่าตัวเลขตัวแรก ในช่วง 1 ? 126
         <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
         สำหรับตัวเลขตั้งแต่ 224 ขึ้นไป จะเป็น class พิเศษ  อย่างเช่น  Class D ซึ่งถูกใช้สำหรับการส่งข้อมูลแบบ Multicast ของบาง Application และ Class E ซึ่ง Class นี้เป็น Address ที่ถูกสงวนไว้ก่อน ยังไม่ถูกใช้งานจริง ๆ  โดย Class D และ Class E นี้เป็น Class พิเศษ ซึ่งไม่ได้ถูกนำมาใช้งานในภาวะปกติ <br>
         <u>ตัวอย่าง IP Address</u><br>
         - Class A ตั้งแต่ 10.***.***.***    <br>
         - Class B ตั้งแต่ 172.16.***.*** ถึง 172.31.***.*** <br>
         - Class C ตั้งแต่ 192.168.0.*** ถึง 192.168.255.*** <br>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
         จาก IP Address เราสามารถที่จะบอก ได้คร่าวๆ ว่า computer 2 เครื่องอยู่ใน network วงเดียวกันหรือเปล่าโดยการเปรียบเทียบ Network ID ของ IP Address ถ้ามี Network ID ตรงกันก็แสดงว่าอยู่ใน network วงเดียวกัน เช่น computer เครื่องหนึ่งมี IP Address 1.2.3.4 จะอยู่ใน network วงเดียวกับอีกเครื่องหนึ่งซึ่งมี IP Address 1.100.150.200 เนื่องจากมี Network ID ตรงกันคือ 1 (class A ใช้ Network ID 1 byte)
      </FONT>   
   </div>
   <?php
      $sql = "INSERT INTO $dataip (ip, country_code, country_name,
      region_code, region_name, city,zipcode, timezone, latitude, longitude, isp,
      metro_code)"."VALUES ('$ip', '$CountryCode', '$CountryName', '$RegionCode', '$RegionName',
      '$City', '$ZipCode', '$timezone', '$Latitude', '$Longitude', '$MetroCode ')";
      echo $sql;
      mysql_query($sql) or die('*** ไม่สามารถบันทึกข้อมูลได้ ***');
      
      // echo $IP.'<br>'.$CountryCode.'<br>'.$CountryName.'<br>'.$RegionCode.'<br>'
      // .$RegionName.'<br>'.$City;
   ?>
   
   <div class="well well-lg">
      <h3 align="center">ข้อมูลการเข้าใช้งานล่าสุด</h3><br>
      <div class="row" align="center">
         <div class="col-md-12">
            <div class="scroll1">
               <table id="table-listtax" class="table table-striped">
                  <tr>
                     <th bgcolor="#8c8cd9"><p align="center">ลำดับ</p></th>
                     <th bgcolor="#8c8cd9"><p align="center">เวลาเข้าใช้งาน</p></th>
                     <th bgcolor="#8c8cd9"><p align="center">หมายเลข<br>IP_Address</p></th>
                     <th bgcolor="#8c8cd9"><p align="center">แสดงข้อมูล</p></th>
                  </tr>
                  <?php
                     while ($fetch = mysql_fetch_assoc($result)) {
                     ?>
                     <tr>
                        <td align="center"><?php echo $fetch['id'] ; ?></td>
                        <td align="center"><?php date_default_timezone_set("Asia/Bangkok");
                        echo (date(" Y-m-d / H:i:s  ",$fetch['timeZone'])); ?></td>
                        <td align="center"><?php echo $fetch['ip']; ?></td>
                        <td align="center">
                           <a href="showip.php?id=<?php echo $fetch['id']; ?>">
                              <button type="button" class="btn btn-primary"><i class="glyphicon glyphicon-new-window"></i></button>
                           </a>
                        </td>
                     </tr>
                     <?php
                     }
                  ?>
               </table>               
            </div>
            
         </div>
         <div class="col-md-12 " align="center">
            <input type="button" class="btn btn-primary" onclick="window.location='listip.php';" value="ดูข้อมูลเพิ่มเติม">
         </div>
      </div>      
   </div>   
   
</div>

<?php include '../footer.php';?>                  

อันโค้ด connect กับฐานข้อมูลคะ

โค้ด: เลือกทั้งหมด

<?php
require_once '../../configuration.php';
$joomla3 = new JConfig();

$host = $joomla3->host;
$username = $joomla3->user;
$password = $joomla3->password;
$db = $joomla3->db;
$dataip = 'tool_geo_ip';

mysql_connect($host,$username,$password) or die('Connect Database ไม่สำเร็จ');
mysql_select_db($db) or die('Select Database ไม่สำเร็จ');
mysql_query('set name utf8');
The truth is not as elegant as the idea.

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 6350
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: บันทึกข้อมูลลงฐานข้อมูลไม่ได้ ไม่ทราบว่าผิดตรงไหนค่ะ

โพสต์โดย tsukasaz » 17/03/2017 2:49 pm

column ที่ insert ไม่ตรงกับ ค่าที่จะ insert (colomn isp เกิน)
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 15 และ บุคคลทั่วไป 0 ท่าน