P H P  V I E T  N A M  P O R T A L
Xin chào, Khách. Vui lòng đăng nhập hoặc đăng ký tài khoản.
Bạn đã quên email kích hoạt?






     Trang chủ | Download | Tự học PHP | Kho tư liệu | Diễn đàn
Trang: 1 [2] 3
  In  
This topic has not yet been rated!
You have not rated this topic. Select a rating:
Tác giảChủ đề: Thực hiện các truy vấn thêm, xóa, sửa bản ghi thông qua câu lệnh SQL  (Đã đọc 89581 lần)
khanga6tm
PHP Starter
*
Posts: 12


Xem hồ sơ
« Trả lời #15 on: December 28, 2008, 01:33:33 PM »

Em ra hỏi anh em về sesion_cache_limiter() với sql đang đọc bài về header roài cài này Ai chỉ em lỗi này cái nó làm em mất toi 4h mà kô hiểu tại sao.
Em tạo bảng có tên :acer. trong tên của database là: test
field như sau:
Name varchar(10);
Price int;
Product(100);
em dùng đoạn mã như sau để update mà kô được
<?php
$link=mysql_connect("localhost","root","");
mysql_select_db("test");
$sql="update acer set Product='acer' where Name ='ACER1';";
mysql_query($sql,$link);
mysql_close();
?>
Hiện khi em post bài này em down load xampp 1.7 về test và không okie ai chỉ em nhá em chưa chiến được phần edit vì cài củ chuối này.
Hic hic  Cry em vừa insert và delete ngon lành thế mới đau em chứ
« Last Edit: December 28, 2008, 01:38:15 PM bởi khanga6tm » Logged
thaiph
PHP Starter
*
Posts: 2


Xem hồ sơ
« Trả lời #16 on: December 29, 2008, 01:52:18 AM »

Quote
mysql_query($sql,$link);

Remove $link

mysql_query($sql);
Logged
develop
PHP Starter
*
Posts: 11


Xem hồ sơ Email
« Trả lời #17 on: March 22, 2009, 02:22:57 AM »

Mình muốn làm 1 bài về insert như sau nhưng ko hiểu sao lại ko chèn được dữ liệu nhỉ.
Bài html
Code:
<form id="form1" name="form1" method="post" action="chendb.php">
  <p>Chen them thong tin cho nhan vien.</p>
  <p>Ma nhan vien : 
    <label>
    <input type="text" name="MaNV" />
    </label>
  </p>
  <p>Ho ten :
    <label>
    <input type="text" name="Hoten" />
    </label>
  </p>
  <p>Gioi tinh :
    <label>
    <input type="radio" name="Gioitinh" value="Nam" />
Nam</label>
    <br />
    <label>
    <input type="radio" name="Gioitinh" value="Nu" />
Nu</label>
    <br />
  </p>
  <p>Ngay sinh :
    <label>
    <input type="text" name="Ngaysinh" />
    </label>
  </p>
  <p>Dia chi :
    <label>
    <input type="text" name="Diachi" />
    </label>
  </p>
  <p>Ma phong : 
    <label>
    <input type="text" name="Maphong" />
    </label>
  </p>
  <p>
    <label>
    <input type="submit" name="Submit" value="Submit" />
    </label>
  </p>
</form>

Còn đây là code để chèn data(file chendb.php)
Code:
<?
$MaNV="";
$Hoten="";
$Gioitinh="";
$Ngaysinh="";
$Diachi="";
$Maphong="";
if(isset($_POST["MaNV"]))
{
$MaNV = $_POST["MaNV"];
}
if(isset($_POST["Hoten"]))
{
$Hoten = $_POST["Hoten"];
}
if(isset($_POST["Gioitinh"]))
{
$Gioitinh = $_POST["Gioitinh"];
}
if(isset($_POST["Ngaysinh"]))
{
$Ngaysinh = $_POST["Ngaysinh"];
}
if(isset($_POST["Diachi"]))
{
$Diachi = $_POST["Diachi"];
}
if(isset($_POST["Maphong"]))
{
$Maphong = $_POST["Maphong"];
}
mysql_connect("localhost","root","") or die("cannot connect");
mysql_select_db("Nhanvien") or die ("cannot select db");
$insert = "INSERT INTO Nhanvien(MaNV,Hoten,Gioitinh,Ngaysinh,Diachi,Maphong) VALUES($MaNV,$Hoten,$Gioitinh,$Ngaysinh,$Diachi,$Maphong)";
mysql_query($insert);
if (!$insert)
{
echo "Ko chen duoc du lieu";
}
else
{
echo "du lieu da duoc chen thanh cong";
}
mysql_close();
?>

Ai xem giúp mình với bị sai ở đâu. Khi mình chạy vẫn báo là dữ liệu đã được chèn nhưng vào database kiểm tra thì lại ko có
Logged
ngonchan
PHP Intermediate
*
Posts: 122

ngon.chan
Xem hồ sơ WWW Email
« Trả lời #18 on: March 22, 2009, 08:45:48 PM »

Mình muốn làm 1 bài về insert như sau nhưng ko hiểu sao lại ko chèn được dữ liệu nhỉ.
Còn đây là code để chèn data(file chendb.php)
Code:
<?
$MaNV="";
$Hoten="";
$Gioitinh="";
$Ngaysinh="";
$Diachi="";
$Maphong="";
if(isset($_POST["MaNV"]))
{
$MaNV = $_POST["MaNV"];
}
if(isset($_POST["Hoten"]))
{
$Hoten = $_POST["Hoten"];
}
if(isset($_POST["Gioitinh"]))
{
$Gioitinh = $_POST["Gioitinh"];
}
if(isset($_POST["Ngaysinh"]))
{
$Ngaysinh = $_POST["Ngaysinh"];
}
if(isset($_POST["Diachi"]))
{
$Diachi = $_POST["Diachi"];
}
if(isset($_POST["Maphong"]))
{
$Maphong = $_POST["Maphong"];
}
mysql_connect("localhost","root","") or die("cannot connect");
mysql_select_db("Nhanvien") or die ("cannot select db");
$insert = "INSERT INTO Nhanvien(MaNV,Hoten,Gioitinh,Ngaysinh,Diachi,Maphong) VALUES($MaNV,$Hoten,$Gioitinh,$Ngaysinh,$Diachi,$Maphong)";
mysql_query($insert);
[color=red]if (!$insert)[/color]
{
echo "Ko chen duoc du lieu";
}
else
{
echo "du lieu da duoc chen thanh cong";
}
mysql_close();
?>

Ai xem giúp mình với bị sai ở đâu. Khi mình chạy vẫn báo là dữ liệu đã được chèn nhưng vào database kiểm tra thì lại ko có

  Thứ nhất, thực ra, code của bạn báo dữ liệu đã được nhập là do bạn chọn điều kiện kiểm tra sai (dòng chữ màu đỏ). $insert đã được khai báo và != null, nên (!$insert) sẽ luôn luôn đúng -> lúc nào nó cũng báo đã chèn dữ liệu.
  Bạn nên sửa lại như sau:
Code:
    $result = mysql_query($insert);
   if(!empty($result))
  {
      echo 'Success!';
   }
   else
  {
      echo 'Fail!';
   }

  Thứ 2, câu query của bạn cũng sai, bạn thử câu query dưới đây xem:
Code:
$insert = 'INSERT INTO `Nhanvien`(`MaNV`,
                                                `Hoten`,
                                                `Gioitinh`,
                                                `Ngaysinh`,
                                                `Diachi`,
                                                `Maphong`)
                                    VALUES("'.$MaNV.'", "'.
                                                  $Hoten.'", "'.
                                                  $Gioitinh.'", "'.
                                                  $Ngaysinh.'", "'.
                                                  $Diachi.'", "'.
                                                  $Maphong.'")';
Logged
nochi276
PHP Starter
*
Posts: 5


Xem hồ sơ
« Trả lời #19 on: March 24, 2009, 01:27:45 AM »

bạn ơi, sao cái đoạn báo việc insert dữ liệu lại như vậy
mình tưởng phải là Fail ở chỗ Success chứ nhỉ
Logged
ngonchan
PHP Intermediate
*
Posts: 122

ngon.chan
Xem hồ sơ WWW Email
« Trả lời #20 on: March 24, 2009, 08:38:53 AM »

bạn ơi, sao cái đoạn báo việc insert dữ liệu lại như vậy
mình tưởng phải là Fail ở chỗ Success chứ nhỉ

   Hàm mysql_query sẽ trả về TRUE nếu truy vấn thành công và FALSE nếu truy vấn thất bại đối với các câu lệnh INSERT, UPDATE .v.v. cho nên ta dựa vào điều này để kiểm tra xem đã INSERT thành công hay chưa.
 Còn bạn lại kiểm tra xem có câu truy vấn hay chưa (chứ không phải truy vấn thành công chưa) --> sai logic --> bị sai thôi. Thân.
Logged
develop
PHP Starter
*
Posts: 11


Xem hồ sơ Email
« Trả lời #21 on: April 03, 2009, 07:54:17 PM »

Cũng vẫn với đoạn code như vậy nhưng tớ sửa thành
Code:
$insert = "INSERT INTO Nhanvien(MaNV,Hoten,Gioitinh,Ngaysinh,Diachi,Maphong) VALUES('$MaNV','$Hoten','$Gioitinh','$Ngaysinh','$Diachi','$Maphong')";
thì lại chạy được như vậy thì liệu có phải là do lỗi như cậu nói ko?
Logged
ngonchan
PHP Intermediate
*
Posts: 122

ngon.chan
Xem hồ sơ WWW Email
« Trả lời #22 on: April 04, 2009, 01:23:51 AM »

Chưa chạy thử, nhưng mà biết là sẽ bị lỗi Cheesy
Logged
develop
PHP Starter
*
Posts: 11


Xem hồ sơ Email
« Trả lời #23 on: April 04, 2009, 06:46:09 AM »

Tớ làm như vậy chạy được mờ  Huh
Cậu thử kiểm tra lại hộ tớ xem
Logged
phpnubie
Global Moderator
PHP Intermediate
*****
Posts: 444


Xem hồ sơ
« Trả lời #24 on: April 04, 2009, 07:26:35 AM »

tất cả các biến bạn đều gán cho nó là trống ( $MaNV="";
   $Hoten="";
   $Gioitinh="";
   $Ngaysinh="";
   $Diachi="";
   $Maphong=""; )
trong khi kiểm tra bạn lại kiểm tra biến có hay không từ form. đáng lý bạn nên gán biến lấy từ form rồi sau đó mới kiểm tra biến. vd: $hoten = $_POST['hoten']
Logged
develop
PHP Starter
*
Posts: 11


Xem hồ sơ Email
« Trả lời #25 on: April 06, 2009, 07:34:33 AM »

Uh đúng rồi mình hiểu rồi cảm ơn bạn nhá. Nhưng mà bài làm như kiểu kia vân chạy  Cheesy
Logged
tuanshaker0
PHP Starter
*
Posts: 2


Xem hồ sơ Email
« Trả lời #26 on: June 30, 2010, 08:11:02 AM »

Mọi người cho mình hỏi mình có đoạn code sau
<?php
   mysql_connect('localhost','tuanshaker','billgate');
   mysql_select_db('quanlibanhang');
$sql = "INSERT INTO san pham (Ma SP, Ten SP,Nha SX) VALUES (5,'Ga quay','KFC')";
mysql_query ($sql);
?>

Không hiểu sao khi mình chạy thì nó không insert thêm mấy giá trị của các thuộc tính trong bảng sản phẩm của CSDL quản lí bán hàng .Không biết tại sao
Logged
cmxq
Administrator
PHP Intermediate
*****
Posts: 1330


Xem hồ sơ Email
« Trả lời #27 on: June 30, 2010, 09:48:49 AM »

Bạn có bảng nào là san (cách) pham không? nếu có thì phải viết tên bảng đặt trong cặp dấu nháy đơn.
Logged

Trở về phpvn.org
tuanshaker0
PHP Starter
*
Posts: 2


Xem hồ sơ Email
« Trả lời #28 on: June 30, 2010, 07:12:31 PM »

Hj.mình sửa được rồi.phải có dấu nháy đơn ở tên bảng.thế mà mấy bạn ở trên làm ko cần vẫn được nhỉ Wink).
Logged
vnbb87c
PHP Starter
*
Posts: 1


Xem hồ sơ
« Trả lời #29 on: July 23, 2010, 10:02:42 PM »

của người ta ko có khoảng trống ở tên bảng bạn ah
đặt tên bảng, mà nói chung la đặt tên thì ko nên có khoảng trống
Logged
Trang: 1 [2] 3
  In  
 
Chuyển sang:  

Powered by SMF 1.1.15 | SMF © 2006-2007, Simple Machines . Modified by PHPVN Members