将数组插入mysqli

时间:2016-07-31 00:05:34

标签: php mysqli

嗨,经过几个小时的尝试和搜索互联网,我有一个问题,我的数据到我的MySQL数据库

代码:

// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} 
include('simple_html_dom.php');
$html = file_get_html('http://www.cardplayer.com/poker-players');
$theData = array();
foreach($html->find('.table-lined tr') as $row) {
$rowData = array();
foreach($row->find('td') as $cell) {
$rowData[] = $cell->plaintext;
}
$length = count($theData);
for ($i = 1; $i < $length; $i++) {
$sql = "INSERT INTO playernames (playername, location, winnings, mostcash)
    VALUES ('".$theData[$i][0]."','".$theData[$i][1]."','".$theData[$i][2]."','".$theData[$i][3]."')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();

我收到以下错误:

  

错误:INSERT INTO播放器名称(播放器名称,位置,奖金,大多数情况)VALUES('Joseph Cheong','La Mirada,CA,USA','$ 11,216,031')

1 个答案:

答案 0 :(得分:-2)

在我看来,您错过了winningsmostcash列。您应该将4个值传递给MySQL插入查询。

在没有看到您的$theData数组的情况下,我无法为您提供进一步的帮助,因为我不知道您的数据是如何格式化的。

请注意:您应该binding parameters to your queries以防止SQL注入。