我通过插入页面创建了一个数据,其中数据将使用 mysql 插入。 当我尝试获取新插入的数据时,它不会获取数据。
例如:
INSERT INTO bag(bid,bookno,name) VALUES ('','$bn','$n');
我的数据应该是:
bid bookno name
1 23 mystery
2 56 mystery
3 89 mysteryy
当我获取 name 列时,它会顺利地获取 name =" mystery" ,但它无法获取 name =& #34; mysteryy" 刚刚插入我的数据库的数据。
我的提取查询是......
SELECT * FROM bag WHERE name='$name';
$name=$_POST['nam'];
这是我的 HTML 代码:
<td><input type="checkbox" name="chk[]"/></td>
<td><input type="text" name="bookno[]" id="bookno" /></td>
<td><input type="text" name="nam[]" id="nam" /></td>
PHP 插入代码:
foreach($_POST['nam'] as $row=>$pro)
{
if($pro!="")
{
$n=$pro;
$bn=$_POST['bookno'][$row];
}
}
$s=INSERT INTO bag(bid,bookno,name) VALUES ('','$bn','$n');
答案 0 :(得分:1)
假设您的bid
列设置为自动递增,您可以将该字段设置为null
或只是省略它。如果那是你的主要索引,并且每次都将它传递给一个空字符串,那么它只会保存第一个。
insert into bag(bid,bookno,name) values (null,'$bn','$n');
或只是
insert into bag(bookno,name) values ('$bn','$n');
答案 1 :(得分:0)
尝试在 SELECT 语句中使用 LIKE 。 (并将您的代码转换为 MySQLi ):
$name=mysqli_real_escape_string($yourConnection,$_POST['nam']); /* PRACTICE USING MYSQLI REAL ESCAPE STRING SO YOU CAN PREVENT SOME OF THE SQL INJECTION */
$result=($yourConnection,"SELECT * FROM bag WHERE name LIKE '%$name%'");
关于$yourConnection
变量:
$yourConnection=mysqli_connect("YourHost","Username","Password","YourDatabase");
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}