php - 使用 select 语句和 php 变量插入 MySQL

标签 php mysql

我有一些看起来像这样的东西。它应该插入这些值,但我无法让 php 插入 ID。我无法获得正确的语法,请帮忙。

<小时/>
  $insertQuery = "insert into appointment (appointmentID, doctorid, appointmentDate, symptoms, patientid, time) 
  values($id,(select doctorid from doctors where doctorName like '$docName'),$date,$symptoms,
  (select patientid from patient where patientFName like '$nameOfUser'),$time)";
<小时/>

我收到无效的查询错误,但是当我 vardump 这些变量($docName, $id, $nameOfUser) 时,它们的格式正确。我已经尝试过在MySQL表中手动输入,插入成功。

最佳答案

首先,您犯了一个错误,使用选择已经使用的ID(从病人中选择病人ID,其中病人FName像'$nameOfUser')。我建议患者 ID 是主键和整数数据类型。

当您创建表时。使用以下语法使其自动递增:

CREATE TABLE example (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
) ENGINE=MyISAM;

当你插入表时,你不必插入id。数据库引擎会自动统计最后一个id。

INSERT INTO example(name)values('example');

但是!如果您已经在没有 auto_increment 命令的情况下创建了此表,并且使用此表“太过分”,则只需使用以下解决方案:

mysql_connect('your host','database user','password');
mysql_select_db('your database name');
$query=mysql_query('SELECT MAX(patientid) FROM yourtable;');
$read_id = mysql_fetch_row($query));
$next_id = $read_id[0] + 1;
$query = mysql_query('INSERT INTO yourtable(patientid)values('.$next_id.');');

更多信息,了解一下here

关于php - 使用 select 语句和 php 变量插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26111219/

相关文章:

php - 使用 PHP 和 MySQL 同时更新具有不同值的多个用户数据

PHP:如何缩短网址+从数据库中获取数据

php - 尝试获取非对象的属性 'num_rows'

php代码排除谷歌

php - NOTICE : Trying to get property of non-object. ..我想从返回状态为NULL的表中获取未返回的图书数量

php - 连接mysql中的两个表

mysql - 将行转置为没有确切列数的列

javascript - 根据javascript中的时区更新时间

在 Ajax 重环境中存储在 MySQL 中的 PHP Session

php - MYSQL Timestampdiff 不适用于 PHP if/else 大于 >