function save_keywords($wordarray, $link_id, $domain) { global $mysqli_conn, $mysql_table_prefix, $all_keywords, $debug, $mysqli_conn; reset($wordarray); while ($thisword = each($wordarray)) { $word = $thisword[1][1]; if ($debug == 2) { echo $word . "=" . mb_detect_encoding($word) . "-" . md5($word) . "-" . mb_substr(md5($word), 0, 1) . "<br>"; } $wordmd5 = mb_substr(md5($word), 0, 1); $weight = $thisword[1][2]; if (mb_strlen($word) <= 30) { $keyword_id = $all_keywords[$word]; if ($keyword_id == "") { // echo "insert into ".$mysql_table_prefix."keywords (keyword) values ('$word')"."<br>"; // echo "sql<br>"; // echo "insert into ".$mysql_table_prefix."keywords (keyword) values ('$word');"."<br>"; $insert_qry = "insert into " . $mysql_table_prefix . "keywords (keyword) values ('{$word}')"; $mysqli_conn->query($insert_qry); // echo mysql_ping(); if (!$mysqli_conn->ping()) { $mysqli_conn = MySQLi_conn(); } $keyword_id = $mysqli_conn->insert_id; if ($keyword_id == 0) { die("keyword_id=0 it seems somthing bad happend when inserting in db! ({$insert_qry})"); } /*if (mysql_errno() == 1062) { // echo "select keyword_ID from ".$mysql_table_prefix."keywords where keyword='$word'"; $result = $mysqli_conn->query("select keyword_ID from ".$mysql_table_prefix."keywords where keyword='$word'"); echo $mysqli_conn->error; $row = $result->fetch_row(); $keyword_id = $row[0]; } else{ $all_keywords[$word] = $keyword_id; echo $mysqli_conn->error; } */ $keyword_id = $mysqli_conn->insert_id; // echo $keyword_id; $all_keywords[$word] = $keyword_id; echo $mysqli_conn->error; } $inserts[$wordmd5] .= "|{$link_id}, {$keyword_id}, {$weight}, {$domain}"; } } // print_r($inserts); mysqli_autocommit($link, false); for ($i = 0; $i <= 15; $i++) { $char = dechex($i); $values = substr($inserts[$char], 1); if ($values != "") { $tmp_val = explode("|", $values); // print_r($tmp_val); // echo "<hr>"; $j = 1; $vals = ""; $query = ""; foreach ($tmp_val as $vl) { if ($j > 50 || $j >= sizeof($tmp_val)) { $vals .= "(" . $vl . ")"; $query .= "insert into " . $mysql_table_prefix . "link_keyword{$char} (link_id, keyword_id, weight, domain) values {$vals};" . chr(10); // echo "<br>".$char."-".$j."=="."insert into ".$mysql_table_prefix."link_keyword$char (link_id, keyword_id, weight, domain) values $vals;".chr(10)."<hr>"; $j = 1; $vals = ""; } else { if ($j == 1) { // $vals.=$vl."),"; } else { // $vals.="(".$vl."),"; } $vals .= "(" . $vl . "),"; $j++; } } // echo $vals; // $query = "insert into ".$mysql_table_prefix."link_keyword$char (link_id, keyword_id, weight, domain) values $values"; // echo $query."<hr>"; // echo $char."-".$j."==".$query."<hr>"; $mysqli_conn->multi_query($query); while ($mysqli_conn->more_results() && $mysqli_conn->next_result()) { } // $mysqli_conn->store_result(); echo $mysqli_conn->error; } } }
<?php require "credentials.php"; // error_reporting (E_ALL); function MySQLi_conn() { global $mysql_host, $mysql_user, $mysql_password, $database; $mysqli_conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $database); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); die("MySQLi error!"); } $mysqli_conn->query("SET NAMES 'utf8'"); return $mysqli_conn; } $mysqli_conn = MySQLi_conn(); ?>