【发布时间】:2015-12-23 15:39:11
【问题描述】:
我在一个新问题下打开了这个问题
我决定专注于使用 PDO 的解决方案而不是 mysqli go to...
INSERT row from another table using php PDO
感谢大家花时间帮我解决这个问题
------------
我有两张相同的桌子。我在第一个表中执行搜索,并使用结果中出现的每一行的提交链接回显结果。见以下代码...
echo "<div>".$results['Description']." - <a href='submit-ads-florida.php?Barcode=".$results['Barcode']."'>SUBMIT</a></div>";
“submit-ads-florida.php”的脚本如下...
<?php
include '../connect.php';
$query = "INSERT INTO adstable (Brand, Description, Price, Size, Price, Barcode)
SELECT Brand, Description, Price, Size, Price, Barcode FROM invtable
WHERE Barcode='".$mysqli->real_escape_string($_REQUEST['Barcode'])."";
$mysqli->query($query);
?>
我收到以下错误,但我不确定这意味着什么。
连接成功。
致命错误:在第 7 行的 /home/myaccount/public_html/florida-ave/submit-ads-florida.php 中的非对象上调用成员函数 real_escape_string()
我仍在学习,我正在使用我找到的示例中的脚本,因此我的解决方案可能没有使用正确的语法。任何帮助表示赞赏。
更新
我已经提出了建议的更改。我的连接脚本是...
<?php
$servername = "localhost";
$username = "name";
$password = "pass";
$db = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully. ";
?>
我的 submit-ads-florida.php 脚本是...
<?php
include '../connect.php';
$query = "INSERT INTO adstable (Brand, Description, Price, Size, Price, Barcode)
SELECT Brand, Description, Price, Size, Price, Barcode FROM invtable
WHERE Barcode='.$conn->real_escape_string($_REQUEST['Barcode']).'";
$conn->query($query);
?>
问题 我不再收到错误,但是,没有数据从 invtable 传递到 adstable。有什么想法吗?
【问题讨论】:
-
你能发帖
connect.php吗? -
条形码上缺少结束引号。
'".$mysqli->real_escape_string($_REQUEST['Barcode']).""应该在""中有一个单引号。或者可能已经在那个问题上抢了先机(起初错过了错误消息)。$mysqli定义在哪里? -
我们需要查看 connect.php 以了解 $mysqli 是否已定义,但您得到的错误是告诉我们很可能未定义或已定义但未连接。跨度>
-
我按照 kiran 的建议使用正确的引号更新了提交脚本,但我不再收到错误消息,但数据没有被复制到 ads 表中。我的连接脚本如下...
-
以下是我的连接脚本... connect_error) { die("Connection failed: " . $conn->connect_error); } echo "连接成功。"; ?>