难以将数组数据输入数据库表
我想知道是否有人可以指出以下脚本有什么问题。我在将数组数据输入数据库表时遇到了困难。完整代码如下所述,最终数组的结果应输入到数据库表中,并以print_r()
格式打印出来。
就收集 6 个数据数组的内容和创建 MySQL 数据库表而言,一切似乎都正常运行。困难在于将数据输入数据库表的代码的最后一部分。
脚本的底部包含 5 个不同版本的 MySQL 命令,这些命令是由其他贡献者和站点用户提供的,这些命令应该已经将数据输入到数据库表中。我分别尝试了每个版本,所有 5 个版本都无法正常工作。版本标签旁边的注释说明了失败的模式。
任何帮助将不胜感激。
<?php
// Data Arrays (6)
$current_topic_array = array();
$post_date_array = array();
$phone_array = array();
$item_title_original_array = array();
$item_title_array = array();
$item_link_original_array = array();
// Enter Data into the Data Arrays.
// This can be done either by local loop as shown here, or gathered from an earlier part of the routine
for($c = 0; $c < 3; $c++) { // eventually the maximum value shown here, 3, will be a $variable
$current_topic_array[] = 'a'.$c; // text string - Topic Section
$post_date_array[] = 'b'.$c; // text string - Article Post Date as text string i.e. 03-30-2012
$phone_array[] = 'c'.$c; // text string - Author's Contact Phone number as text string i.e. 888-555-1212
$item_title_original_array[] = 'd'.$c; // text string - Original Article Title
$item_title_array[] = 'e'.$c; // text string - Modified Article Title (shortened)
$item_link_original_array[] = 'f'.$c; // text string - Author's website URL i.e. http://www...
}
// MySQL Database Connection - Authentication: user, password
$TableName = 'User_Data';
$dbh = mysql_connect ("localhost", "user", "password")
or die ('Cannot connect to the database because: ' . mysql_error());
mysql_select_db ("database");
// Creates a Database Table only if the Table does not already exist
if(mysql_num_rows(mysql_query("SHOW TABLES LIKE '".$TableName."'")) != 1) {
mysql_query("CREATE TABLE $TableName(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
Topic varchar(300) NOT NULL default '',
Post_Date varchar(100) NOT NULL default '',
Phone_Number varchar(100) NOT NULL default '',
Original_Item_Title varchar(2000) NOT NULL default '',
Modified_Item_Title varchar(2000) NOT NULL default '',
Original_Item_Link varchar(2000) NOT NULL default '') ") or die(mysql_error()
);
}
// Combine all 6 Data Array into one array
$queries = array();
for($i = 0; $i < count($current_topic_array); $i++) {
$queries[] = '(
'.$current_topic_array[$i].',
'.$post_date_array[$i].',
'.$phone_array[$i].',
'.$item_title_original_array[$i].',
'.$item_title_array[$i].',
'.$item_link_original_array[$i].'
)';
// Check - $queries array item &i
echo '<span style="color: #008000;">'.$queries[$i].'</span>';
}
// Check - Final $queries array content
echo '<hr>Final $queries array content =';
echo '<pre>';
print_r($queries);
echo '</pre>';
echo '<hr>';
// Enter the $queries Data into the MySQL Database Table
// Version 1 - Failed: Column count doesn't match value count at row 1
// mysql_query("insert into $TableName (Topic, Post_Date, Phone_Number, Original_Item_Title, Modified_Item_Title, Original_Item_Link)
// values (". implode(',', $queries) . ")") or die(mysql_error());
// Version 2 - Failed: Column count doesn't match value count at row 1
// mysql_query("insert into $TableName (Topic, Post_Date, Phone_Number, Original_Item_Title, Modified_Item_Title, Original_Item_Link)
// values ('". implode("','", $queries) . "')") or die(mysql_error());
// Version 3 - Failed - No Error message and No Data imported into Table
// $query = mysql_query("insert into $TableName (Topic, Post_Date, Phone_Number, Original_Item_Title, Modified_Item_Title, Original_Item_Link)
// values ('. implode(',', $queries)') or die(mysql_error()");
// Version 4 - Failed - No Error message and No Data imported into Table
// $query = "insert into User_Data(Topic, Post_Date, Phone_Number, Original_Item_Title, Modified_Item_Title, Original_Item_Link)
// values " . implode(", ", $queries);
// Version 5 - Failed - No Error message and No Data imported into Table
$query = "insert into (Topic, Post_Date, Phone_Number, Original_Item_Title, Modified_Item_Title, Original_Item_Link)
values " . implode(", ", $queries);
?>
$queries[$i]
项目:
( a0, b0, c0, d0, e0, f0 )( a1, b1, c1, d1, e1, f1 )( a2, b2, c2, d2, e2, f2 )
最终$queries
数组内容:
Array
(
[0] => (
a0,
b0,
c0,
d0,
e0,
f0
)
[1] => (
a1,
b1,
c1,
d1,
e1,
f1
)
[2] => (
a2,
b2,
c2,
d2,
e2,
f2
)
)