Как часть сайта, который я разрабатываю, я получаю все текущие нарушения данных, доступные на «Я был pwned» через PHP-скрипт. Я могу получить все нарушения, используя API-интерфейс сайта, когда в это время есть 104. Я попытался вставить их все в таблицу базы данных, однако последние 2 по какой-то причине отбрасываются, поэтому вложенные вложенные строки составляют всего 102 не 104. не являются ограничениями в моей таблице, и я проверил ошибки mysql, а также использовал SHOW WARNINGS и все еще ничего.Mysql Вставка, отбрасывающая последние две строки
Есть ли у кого-нибудь идеи, почему это происходит? Это произошло раньше, однако это было связано с ограничением на лимит Varchar, поэтому он изменил его на Text и решил проблему до сих пор. Я использую подсчет массива JSON из API, а число равно 104, поэтому здесь должен быть Mysql. Какие-нибудь идеи кто-нибудь?
$fs = file_get_contents('https://haveibeenpwned.com/api/v2/breaches/', false, $context)
$fs = json_decode($file, true);
$count = count($fs);
for($i=0;$i<$count;$i++) {
$title = mysql_real_escape_string($fs[$i]['Title']);
$name = mysql_real_escape_string($fs[$i]['Name']);
$domain = mysql_real_escape_string($fs[$i]['Domain']);
$breachdate = mysql_real_escape_string($fs[$i]['BreachDate']);
$adddate = mysql_real_escape_string($fs[$i]['AddedDate']);
//$ad_date = explode("T", $adddate);
//$add_date = $ad_date[0];
//$add_time = rtrim($ad_date[1], "Z");
//$add_time = $ad_date[1];
$pwncount = mysql_real_escape_string($fs[$i]['PwnCount']);
$desc = mysql_real_escape_string($fs[$i]['Description']);
//$dc = count($fs[$i]['DataClasses']);
$dca = implode(',',$fs[$i]['DataClasses']);
$isver = mysql_real_escape_string($fs[$i]['IsVerified']);
$issens = mysql_real_escape_string($fs[$i]['IsSensitive']);
$sql = mysql_query("INSERT INTO breaches (Title, Name, Domain, AddedDate, BreachDate, PwnCount, Descript, DataClasses, IsVerified, IsSensitive) VALUES ('$title','$name','$domain','$adddate','$breachdate','$pwncount','$desc','$dca','$isver','$issens')");
//echo '<p>Title: '.$title.'</p>';
//echo '<p>Data Classes: '.$dca.'</p>';
}
вывод суммы $ считается как ожидалось 104, поскольку в возвращаемом массиве JSON имеется 104 элемента. Только 102 записи достигают таблицы базы данных, без ограничений.
сообщение какой-то код, показать нам, что вы делали до сих пор, то мы сможем помочь вам. – olibiaz
Я помечаю этот вопрос как непонятно, что вы просите, пожалуйста, подумайте над его пересмотром. – dcreight
Неясно? Здесь я был предельно ясен. Я уже сказал, что получаю каждое нарушение от API HIBP, которого есть 104. Выходные данные находятся в JSON. Я беру этот вывод JSON, запустив цикл PHP, а затем вставьте все 104 нарушения в таблицу базы данных в mysql. Как это непонятно? – Dave