我成功复制了连接表。耶!
现在,经过多次测试后,我发现单个撇号(转义项目)未被接受。最初在表单中创建新表行时,所有内容都通过以下方式运行:
$unit_id = mysqli_real_escape_string($dbc, trim($_POST['ajax_unit_id']));
现在,当我复制这些行来创建新记录时,我似乎不知道再次在哪里/如何转换rpm_string以便再次允许单个撇号,例如名为Don's Supah-Dupah App
的标题。 / p>
$sql1 = "CREATE TEMPORARY TABLE tmp
SELECT *
FROM ".ID_TABLE."
WHERE `unit_id` = " . $id . "";
$result = mysqli_query($dbc,$sql1) or die(mysqli_error($dbc));
$sql2 = "ALTER TABLE tmp
DROP COLUMN `unit_id`";
$result = mysqli_query($dbc,$sql2) or die(mysqli_error($dbc));
$sql3 = "UPDATE tmp
SET `title` = '" . $titleStamp . "'";
# ************************************************************ #
# ****** This is where I believe the issue is occurring ****** #
# ************************************************************ #
$result = mysqli_query($dbc,$sql3) or die(mysqli_error($dbc));
$sql4 = "INSERT INTO ".ID_TABLE."
SELECT 0,tmp.*
FROM tmp";
$result = mysqli_query($dbc,$sql4) or die(mysqli_error($dbc));
$unit_id1 = $dbc->insert_id; //mysqli_insert_id($dbc); // Store new unit_id as var
$sql5 = "DROP TABLE tmp;";
$result = mysqli_query($dbc,$sql5) or die(mysqli_error($dbc));
答案 0 :(得分:0)
在再次梳理编码后,我发现错误实际上与复制无关......有点。
注意:我提供这个答案,以防有人在那里退后一步,从5000米处查看自己的问题...而不是5英寸。希望这有助于某人将自己从兔子洞中拉出来以获得更好的视角。
在复制之前,我设置了一个由初始sql select生成的变量$title
$row = mysqli_fetch_array($rdata);
$title = $row['title'];
...然后连接title
和datetimestamp
。
date_default_timezone_set(DEFAULT_TZ); // Default timezone set as Australia/Melbourne
$timestamp = date('Y/m/d h:i:s:a');
$titleStamp = $title." COPY ".$timestamp;
此$title
变量是问题发生的地方。在将内容插回到新行之前,必须转义新字符串。
$title = mysqli_real_escape_string($dbc, trim($row['title']));
瞧!