【发布时间】:2017-02-11 01:32:19
【问题描述】:
我正在使用 PHP 在 mySQL 中的两个表上使用内部联接,然后尝试将所有数据输入到第三个表中,但收到 T_STRING 错误。我的三个表是:mdl_user、mdl_courses 和 emails(第三个表是空的)。
mdl_user
id auth username password email
============================================
1 email thomas_90 #$(*#($SL tom@gmail.com
2 email john334 SDF*#EJEE john@gmail.com
mdl_courses
id userid course
===================
1 2 2
2 11 2
电子邮件
userid course username email
===============================
我的php代码在这里:http://codepad.org/GBNqg1S7
<?php
$dbhost = 'm2697.sgded.com';
$dbuser = 'xxxxxxx';
$dbpass = 'xxxxxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT userid, course, username, email
FROM mdl_courses
INNER JOIN mdl_user
ON mdl_courses.userid = mdl_user.id';
mysql_select_db('course_training');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$sql = 'INSERT INTO emails (userid, course, username, email)
VALUES ($row['userid'], $row['course'], $row['username'], $row['email'])';
echo "User ID:{$row['userid']} <br> ".
"Course: {$row['course']} <br> ".
"Username: {$row['username']} <br> ".
"Email: {$row['email']} <br> ".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
任何人都可以就我做错了什么提供一些见解吗?我想我可以使用 $row['variable'] 从内部连接中插入每一行。
【问题讨论】:
-
您的查询
$sql抛出语法错误。