10/10/2018, 10:34

Kết nối vào database nhưng không thêm được bản ghi

Chào các bạn, mình connect được với database( tblTest có fiel là : IDname,Name) nhưng nó hiện ra thông báo
Code:
So mau tin them vao 0
và đây là các file của tớ:
File kết nối: dbcon.php

Code:
<?php
$link = mysql_connect ("localhost", "root", "")
or die ("Could not connect to MySQL Database");
mysql_select_db("han", $link);
?>
File nhập dữ liệu từ bàn phím:
Code:
<body>
<form name="frmPHP" method="post"
action="doinsert.php"
onsubmit="return checkInput();">
<tr>
<td align="left" class="content-sm"><b>
Please enter ID and Name
</b></td>
</tr>
<tr>
<td align="left" >ID:</td>
</tr>
<tr>
<td align="left">
<input type="text" name="txtID"
size="25" maxlength="3" class="textbox">
</td>
</tr>
<tr>
<td align="left" >Name:</td>
</tr>
<tr>
<td align="left" >
<input type="text" name="txtName"
size="25" maxlength="50" class="textbox">
</td>
</tr>
<tr>
<td align="left" valign="top"> <br>
<input type="submit"
value="Submit" class="button">
<input type="reset" value="Reset" class="button">
</td>
</tr>
</form>
</body>
FIle doinsert.php

Code:
<BODY>
<h3>Them mau tin</h3>
<?php
$affectrow=0;
require("dbcon.php");
$sql="insert into tblTest(IDName,Name) ";
$sql .=" values('".$txtID."','".$txtName."')";
$result = mysql_query($sql,$link);
if($result)
$affectrow=mysql_affected_rows();
mysql_close($link);
?>
So mau tin them vao <?php echo $affectrow?>
</BODY>
các bạn giúp đỡ tớ với.
Mình Cảm ơn các bạn trước.
honnhienh viết 12:39 ngày 10/10/2018
không đọc được hết code bác dài quá. nhưng connect được hog thêm được thì coi cái quền cảu bác có được thêm hg? hay nó chỉ cho bac view thôi.
linh040800 viết 12:49 ngày 10/10/2018
1. code thứ nhất chỉ để connect. CÒn code thứ hai chỉ là nhập dữ liệu từ bàn phím. Theo mình nghĩ có thể mình sai chỗ nào của đoạn code thứ 3 mà tớ up lên.
2. Nó thông báo thế nhưng tớ làm cho chắc nên vào database kiểm tra tblTest thì vẫn chỉ có 3 bản ghi như cũ.
Các bạn coi giùm tớ với.
honnhienh viết 12:44 ngày 10/10/2018
Code:
$sql="insert into tblTest(IDName,Name) ";
$sql .=" values('".$txtID."','".$txtName."')";
đoạn này tui hog hiểu nha. bạn phải lấy giá trị trước chứ $txtID = $_POST['txtID'].
rootkit viết 12:46 ngày 10/10/2018
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

/* Update records */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Updated records: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>
linh040800 viết 12:45 ngày 10/10/2018
Mình sửa được rồi đó là tên database là "han" chứ không phải là "Test".
Nhưng sửa xong thì nó thông báo
Code:
So mau tin them vao 1
Nhưng vào database : "han" thì bản ghi được thêm nhưng nó các 2 fied lại là trống . Mà lúc thiết kế CSDL mình không đặt thuộc tính NUll cho các Fied.
Có lẽ mình nghĩ lệnh lấy giá trị này :
Code:
$sql="insert into tblTest(IDName,Name) ";
$sql .=" values('".$txtID."','".$txtName."')";
Có vấn đề trong việc gán : IDName = txtID và Name = txtName
Các bạn xem lại giùm tớ với.
cayriver viết 12:37 ngày 10/10/2018
Đề nghị nên đọc sách thật kỹ, làm đi làm lại vẫn không được thì mới hỏi. Chứ cái gì cũng hỏi thì không hay lắm.
$txtID= $_POST['txtName'];
$txtID= $_POST['txtID'];
linh040800 viết 12:37 ngày 10/10/2018
Tớ post bài giờ này thì cậu biết tớ đâu có phải là lười code hay lười đọc sách.
Và mình đọc một số sách và làm ra rồi( chạy ngon lành rồi). Vấn đề ở đây là sách tớ đọc sách bản php < v5 nên gõ code chạy thì.. . Còn từ PHP V5 trở đi có chút thay đổi (EX : $HTTP_POST_VARS bằng $_POST['***'].
Code của nó đây:
Code:
$sql="insert into tblTest(IDName,Name) ";
$sql .=" values('".$_POST['txtID']."','".$_POST['txtName']."')";
Nhưng mình thấy không hiểu dấu chấm trong cậu lệnh thứ 2 .
Bạn nào biết nói giùm tớ luôn với, sách tớ đọc không nói đến vấn đề này.
lenggiauit viết 12:37 ngày 10/10/2018
Trong php dấu . dùng để nối string
meoconnho viết 12:41 ngày 10/10/2018
Code:
$sql="insert into tblTest(IDName,Name) ";
$sql .=" values('".$_POST['txtID']."','".$_POST['txtName']."')";
Mình không hiểu tại sao lấy giá trị từ $_POST['txtID'] gán cho IDName chứ đâu có làm gì đâu mà nối chuỗi lại làm gì. Nên tớ thấy dấu chấm bên trong value có lẽ nó có nhiệm vụ khác.
Và điều thứ hai là : còn dấu chấm ở trước dấu bằng ( = ) đầu câu nữa .
Bài liên quan
0