【发布时间】:2018-01-06 07:29:40
【问题描述】:
我有两个表 - oldtbldata 和 tbldata,并且想在第一个表中读取一行并将其插入到第二个表中。旧表中不存在一个新列 txtNotes,我想将其设置为空格。
oldtbldata 中有 tbldata 中不存在的行,我想将这些行作为新行插入到 tbldata 中。
我已经建立了一个原始连接 (conn) 来对匹配的 txtWoodIDcode 条目进行初始搜索,如果找到不存在的行,我想使用 conn2 将其添加到 tbldata。
初始代码为:
$conn = mysql_connect('localhost', '***', '*****');
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
echo "Conn connected<br>";
$sql = 'SELECT oldtxtWoodIDcode FROM oldtbldata';
mysql_select_db('scw-db');
如果搜索没有找到 ID,则转到此代码:
{
$conn2 = mysql_connect('localhost', '***', '***');
if(! $conn2 )
{
die('Could not connect #2: ' . mysql_error());
}
echo "Conn2 connected<br>";
$sql_new = 'SELECT txtWoodIDcode FROM tbldata';
mysql_select_db('scw-db');
$retval = mysql_query( $sql, $conn2 );
if(! $retval )
{
die('Could not get data from conn2: ' . mysql_error());
}
$sql_new = "INSERT INTO tbldata
(
'txtWoodIDcode',
'txtProductCode',
'txtNotes',
'txtSpecies',
)
VALUES
{
'oldtxtWoodIDcode',
'oldtxtProductCode',
' ',
'oldtxtSpecies',
)";
echo "past the insert code<br>";
if ($conn2->query($sql_new) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql_new . "<br>" . $conn2->error;
}
mysql_close($conn2);
}
我得到的错误是在 if ($conn2->query($sql_new) === TRUE) 行:
致命错误:在非对象上调用成员函数 query()
是的,我收到“Conn2 connected”消息,所以我应该连接到 DB。
我是 PHP/MySQL 的新手,并且正在使用旧版本 - 所以我知道我需要升级 - 但以后需要这样做。我现在只需要让这个代码工作。
【问题讨论】:
-
Mysql api 已弃用停止使用它。
-
将
mysql_*更改为mysqli_,并在Values之后将{替换为( -
你有很多错误,一个是在列名周围使用
'单引号,使用`反引号'单引号用于值,