Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php mysql保存乘法表_Php_Sql_Database - Fatal编程技术网

通过php mysql保存乘法表

通过php mysql保存乘法表,php,sql,database,Php,Sql,Database,我有两个表,我试图同时将数据保存到这两个表中。。表“lyricsAuthor”包含PK(id),表“test”包含FK(testid)。 它现在可以保存到两个表,但“testid”保存的是0,而不是“lyricsAuthor”的最后一个“id” 我看不出我错过了什么?? 我当前的代码如下: $pdo = Database::connect(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCE

我有两个表,我试图同时将数据保存到这两个表中。。表“lyricsAuthor”包含PK(id),表“test”包含FK(testid)。 它现在可以保存到两个表,但“testid”保存的是0,而不是“lyricsAuthor”的最后一个“id”

我看不出我错过了什么?? 我当前的代码如下:

        $pdo = Database::connect(); 

        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $testid = "SELECT id FROM lyricsAuthor ORDER BY id DESC LIMIT 1";               
        $sql = "INSERT INTO test (testid,testname) values(?, 'John Doe')";
        $q = $pdo->prepare($sql);
        $q->execute(array($testid));

        Database::disconnect();
        header("Location: lyrics.php");

使用
mysql\u insert\u id
而不是
SELECT id..
获取当前脚本上下文中最近插入的行的id,否则如果多个访问者同时加载您的网页,您将出现并发问题(数据库中的细微延迟将导致id不匹配)


在PDO中,方法是
$link->lastInsertId()在MySQLi中是
$link->insert\u id

在execute中输入的值没有意义,它仍然是一个文本查询字符串,没有其他内容。您需要先获取select,然后才能从中获取任何值。谢谢您的回答。。我对php很陌生。也许这是个愚蠢的问题,但我如何在代码中使用它呢?或者如何插入?@Axl我建议查看文档,因为它包含使用示例。