【问题标题】:get values from database and work on them从数据库中获取值并处理它们
【发布时间】:2018-05-01 14:32:51
【问题描述】:
<?php
include('connection.php');

/* code for id goes here */

$q2= "select MAX(id) from usertable";   
echo mysqli_query($sql,$q2);

$name=$_POST['name'];
$username=$_POST['usrname'];
$password=$_POST['psw'];
$dob=$_POST['date'];
$query="insert into usertable(name, username, password, dateofbirth) values('$name', '$username','$password','$dob')";
if(mysqli_query($sql,$query))
{

    echo "Registered successfully";
}
?>

这是我在我的数据库中注册用户的插入命令。但是,数据库包含一个名为 id 的列,它是主键。如何在执行插入查询之前获取 id,以便它获取最后一个 id 并将其递增 1 并将其与其他数据一起插入到数据库中。 id 是数字,我希望程序自己执行操作,而不是用户输入 id 的数据。请帮忙。

【问题讨论】:

标签: php database mysqli


【解决方案1】:

您需要将 id 字段设置为 auto incement,您的数据库会自动执行此操作:

ALTER TABLE usertable MODIFY COLUMN id INT auto_increment;

【讨论】:

    【解决方案2】:

    你需要写一个查询

    SELECT MAX(id) FROM usertable
    

    从中获取结果,然后将该值加 1,然后将该值设置在 id 字段中。

    【讨论】:

    • 请查看更新后的代码。它正在生成以下错误 mysqli_result 类的对象无法转换为字符串。
    • 您可以使用以下代码: $rs= mysqli_query($con,"select MAX(id) as max_id from users"); $row =mysqli_fetch_row($rs); $max_id = $row[0]; $max_id++; $query="insert into usertable(id,name, username, password, dateofbirth) values('$max_id','$name', '$username','$password','$dob')";
    猜你喜欢
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2018-03-06
    • 2018-07-08
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多