Hỏi đáp Ai giúp em chèn thông tin vào CSDL với!

Thảo luận trong 'PHP' bắt đầu bởi kizbrother, 19 Tháng mười một 2011.

  1. Offline

    kizbrother

    • Thành Viên Mới

    Số bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    0
    Chào mọi người, em vừa nhìn vào ngôn ngữ PHP.

    Em có một câu hỏi nhờ php giải giúp/

    - Em có một data ( tạo bằng mySQL)

    - Em đã viết sẵn 3 trang nhưng mà không thể nào chèn thông tin vào CSDL bằng câu lệnh được.

    ## Trong file nén em đính kèm có 4 file:

    - data ( test.sql)
    - nhap.php ( form nhập thông tin )
    - xuly.php ( trang này em định dùng để chèn thông tin vào CSDL)
    - lienketcsdl.php ( dùng để kết nối CSDL)

    Em viết hoài nhưng không thành công, mong các pro giúp em nhé/
    Cám ơn thật nhiều,

    Tải tại đây tập tin và CSDL tại đây: http://www.mediafire.com/?y06ta71uz8ntohf
  2. Offline

    chip

    • Thành viên sáng lập

    • Chíp sún
    Số bài viết:
    777
    Đã được thích:
    778
    Điểm thành tích:
    560
    --->vầy là sao, viết code mà không kiên nhẫn, không có sự rèn luyện thì sao phát triển được.
    kizbrother thích bài này.
  3. Offline

    hoekaka

    • Windows 95

    Số bài viết:
    359
    Đã được thích:
    114
    Điểm thành tích:
    90
    Dow về mở ra nản ...
    kizbrother thích bài này.
  4. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Bạn phải tìm hiểu từ cái cơ bản. Mình gọi thế này nhé.
    Trong file xuly.php của bạn:
    - Chèn vào file ketnoicsdl.php
    - Tìm hiểu phương thức truyền dữ liệu từ form (cụ thể trong code của bạn là post)
    - Thao tác với dữ liệu (cụ thể là INSRT INTO)
    kizbrother thích bài này.
  5. Offline

    kizbrother

    • Thành Viên Mới

    Số bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    0
    Không phải anh Admin ạ, em viết nhiều rồi mà không được nên mới nhờ các anh chứ. Đây là trang Xử lý ( xuly.php) mà em viết nhưng không được.

    Mã:
    
    <?php 
    // Kết nối với CSDL
    include("ketnoicsdl.php"); 
    
    /*// Gán các biến nhập vào
    $stt = $_POST["sothutu"];
    $nd = $_POST["noidung"];
    
    	// gán $query cho dễ dùng
    	//$query = INSERT INTO test ('ten','noidung') VALUES ('1','2');
    	echo 'Thành công!';
    	echo $stt;
    	echo null;
    	echo $nd;
    		//Sử dụng lại
    		//mysql_query($query) or die (mysql_error($query));
    
    
    
    /**/
    if($submit <> 'Post')
    {
    echo 'Không nhập thành công, vui lòng nhập lại';
    include ("nhap.php");
    }
    
    else
    
    { 
    $query = "INSERT INTO csdl.test(ten,noidung) values( $_POST["sothutu"]', ' $_POST["noidung"]')";
     mysql_query($query) or (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    
    
    Mong các anh chỉ giúp/.

    Sao nản vậy bạn, mình làm sai chổ nào trong 2 file kia ạ

    Em kiên hơn 2 ngày rồi anh ạ, anh giúp em nhé!
  6. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Trong file xuly.php của bạn, sai ở chổ hàm if, kiểm tra điều kiện sai nên nó cứ báo không thành công mãi, ko biết bạn lấy biến $submit ở đâu ra :)

    Thứ nhất, bạn xem lại

    Mã:
    if($submit <> 'Post')
    Bạn có thể thay bằng hàm empty (rổng)

    Mã:
    if(empty($_POST[sothutu]) || empty($_POST[noidung]))
    Thứ 2, trong trường hợp này, ở đoạn code thực hiện lệnh chèn, phần chỉ định tên bảng, ban chỉ cần chỉ định tên bảng là đủ, không cần phải chỉ rõ tên CSDL nữa

    Mã:
    $query = "INSERT INTO test values('$_POST[sothutu]', '$_POST[noidung]')";
    Thứ 3:

    Mã:
    values([COLOR="red"]dấu nháy đơn ở đây[/COLOR]$_POST[[COLOR="red"]"[/COLOR]sothutu[COLOR="red"]"[/COLOR]]', ' $_POST[[COLOR="red"]"[/COLOR]noidung[COLOR="red"]"[/COLOR]]')";
    Bởi thế mình nói bạn tìm hiểu cơ bản đã.

    Gửi bạn code file xuly.php mình đã sửa theo code của bạn, tổng hợp các ý trên thôi

    Mã:
    <?php 
    // Kết nối với CSDL
    include("ketnoicsdl.php"); 
    if(empty($_POST[sothutu]) || empty($_POST[noidung]))
    {
    echo 'Không nhập thành công, vui lòng nhập lại';
    include ("nhap.php");
    }
    
    else
    
    { 
    $query = "INSERT INTO test values('$_POST[sothutu]', '$_POST[noidung]')";
     mysql_query($query) or (mysql_error());
    }
    ?>
    <h2>Thanks!!</h2>
    Thứ 4, trong CSDL của bạn, đối với các trường tiếng việt, bạn nên chọn kiểu dữ liệu cho nó là utf-8

    Như anh chip nói, học mấy cái này phải kiên trì, 2 ngày là quá ít :)
    kizbrother thích bài này.
  7. Offline

    kizbrother

    • Thành Viên Mới

    Số bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    0
    2 ngày để thử, 24/24 chỉ một vấn đề nhỏ mà chưa làm ra mà, cám ơn các anh em thử nhé!

    Vẫn bị lỗi, ai test thử dùm em đi, chứ em test hoài rồi mà,

    Mã:
    Notice: Use of undefined constant sothutu - assumed 'sothutu' in C:\xampp\htdocs\Life\xuly.php on line 4
    
    Notice: Use of undefined constant noidung - assumed 'noidung' in C:\xampp\htdocs\Life\xuly.php on line 4
    Thanks!!
  8. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Mã:
    $query = "INSERT INTO test values('$_POST["sothutu"]', '$_POST["noidung"]')";
    Bạn thử bỏ lại dấu " nhé.
    kizbrother thích bài này.
  9. Offline

    kizbrother

    • Thành Viên Mới

    Số bài viết:
    4
    Đã được thích:
    0
    Điểm thành tích:
    0
    Em làm cái này lâu rồi mà vẫn lỗi anh ạ!
  10. Offline

    hongoctrien

    • Friends

    Số bài viết:
    2.449
    Đã được thích:
    2.464
    Điểm thành tích:
    2.431
    Mã:
    if(empty($_POST["sothutu"]) || empty($_POST["noidung"]))
    Thay tiếp đoạn này.

    hic, mình dùng localhost xamp, chạy ổn :)
  11. Offline

    chip

    • Thành viên sáng lập

    • Chíp sún
    Số bài viết:
    777
    Đã được thích:
    778
    Điểm thành tích:
    560
    ---->lỗi gì sao không chịu post lên để mọi người nhìn thấy, em đừng tưởng ai cũng hiểu em đang muốn nói gì và nghĩ gì.
  12. Offline

    jnomanh

    • Thành Viên Mới

    Số bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    0
    Bạn thử dùng localhost xamp xem sao nhé!
  13. Offline

    chip

    • Thành viên sáng lập

    • Chíp sún
    Số bài viết:
    777
    Đã được thích:
    778
    Điểm thành tích:
    560
    --->đừng đưa ra một giải pháp mà mình không hiểu nguyên nhân từ đâu

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí