繁体   English   中英

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

[英]Cannot fetch the recent added data from database

我通过一个插入页面创建了一个数据,其中将使用mysql插入数据。 当我尝试获取新插入的数据时,它将不会获取数据。

例如:

INSERT INTO bag(bid,bookno,name) VALUES ('','$bn','$n');

我的数据应该是:

           bid   bookno     name
            1      23      mystery
            2      56      mystery
            3      89      mysteryy

当我获取名称列时,它会平滑地获取名称=“ mystery” ,但无法获取最近插入到我的数据库中的名称=“ 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');

假设您的bid列设置为自动递增,则需要将该字段设置为null或将其忽略。 如果这是您的主要索引,并且每次都向其传递一个空字符串,则它将仅保存第一个。

insert into bag(bid,bookno,name) values (null,'$bn','$n');

或简单地

insert into bag(bookno,name) values ('$bn','$n');

尝试在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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM