无法从数据库中获取最近添加的数据

时间:2014-03-25 02:23:45

标签: php html mysql

我通过插入页面创建了一个数据,其中数据将使用 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');

2 个答案:

答案 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();
}