Intereting Posts

Неопределенный индекс: ___mysqli_ston

Я пытаюсь разобрать некоторые данные json в базу данных mysql из файла. Мой исходный код был следующим:

<?php $response = array(); $res=array(); $json = file_get_contents('C:\Users\Richard\Desktop\test.json'); if($json!=null){ $decoded=json_decode($json,true); //$decode= var_dump($decoded); //$ss=$decode["array"]; //echo $decoded['number']; if(is_array($decoded["configurationItems"])) { foreach($decoded["configurationItems"] as $configurationItems) //for($i=0;$i>sizeof($decoded["configurationItems"]);$i++) { $configurationItemVersion=$configurationItems["configurationItemVersion"]; echo "<br />","configurationItemVersion:",$configurationItemVersion,"<br />"; $configurationItemCaptureTime=$configurationItems["configurationItemCaptureTime"]; echo "configurationItemCaptureTime:",$configurationItemCaptureTime,"<br />"; $configurationStateId=$configurationItems["configurationStateId"]; echo "configurationStateId:",$configurationStateId,"<br />"; $result = mysql_query("INSERT INTO configuration_item(configurationItemVersion,configurationItemCaptureTime,configurationStateId) VALUES('$configurationItemVersion','$configurationItemCaptureTime','$configurationStateId')")or die("Insert Failed ".mysql_error());; }// check if row inserted or not if ($result) { // successfully inserted into database $response["code"] = 1; $response["message"] = "successfully stored"; // echoing JSON response echo json_encode($response); } else { // failed to insert row $response["code"] = 2; $response["message"] = "Oops! An error occurred."; // echoing JSON response echo json_encode($response); } } } 

?>

которые потерпели неудачу из-за лишения; поэтому вместо того, чтобы изменять обработчик ошибок, чтобы игнорировать эту (действительно плохую практику), я решил конвертировать в mysqli, используя удобный инструмент преобразования, полученный здесь: https://github.com/philip/MySQLConverterTool

Я запустил конвертер на вышеупомянутый код и создал следующее:

 <?php $response = array(); $res=array(); $json = file_get_contents('C:\Users\Richard\Desktop\test.json'); if($json!=null){ $decoded=json_decode($json,true); //$decode= var_dump($decoded); //$ss=$decode["array"]; //echo $decoded['number']; if(is_array($decoded["configurationItems"])) { foreach($decoded["configurationItems"] as $configurationItems) //for($i=0;$i>sizeof($decoded["configurationItems"]);$i++) { $configurationItemVersion=$configurationItems["configurationItemVersion"]; echo "<br />","configurationItemVersion:",$configurationItemVersion,"<br />"; $configurationItemCaptureTime=$configurationItems["configurationItemCaptureTime"]; echo "configurationItemCaptureTime:",$configurationItemCaptureTime,"<br />"; $configurationStateId=$configurationItems["configurationStateId"]; echo "configurationStateId:",$configurationStateId,"<br />"; $result = mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTO configuration_item(configurationItemVersion,configurationItemCaptureTime,configurationStateId) VALUES('$configurationItemVersion','$configurationItemCaptureTime','$configurationStateId')")or die("Insert Failed ".((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error( "]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)));; }// check if row inserted or not if ($result) { // successfully inserted into database $response["code"] = 1; $response["message"] = "successfully stored"; // echoing JSON response echo json_encode($response); } else { // failed to insert row $response["code"] = 2; $response["message"] = "Oops! An error occurred."; // echoing JSON response echo json_encode($response); } } } ?> 

при запуске этого кода я получаю сообщение об ошибке в заголовке (Undefined index: ___mysqli_ston) и понятия не имею, как его исправить, любая помощь будет высоко оценена.

ps Я использую laravel framework, если это имеет значение или открывает другие решения.

Теперь я знаю, что ошибка связана с тем, что у меня нет строки подключения к базе данных, т.е. $ GLOBALS ["___ mysqli_ston генерируется генератором.

я понял, что laravel позаботился о том, чтобы определить соединение с базой данных в своей архитектуре mvc, и поэтому это не нужно переопределять. с учетом этого, как будет выглядеть мой код?

Solutions Collecting From Web of "Неопределенный индекс: ___mysqli_ston"

вы должны подключиться к mysql, используя что-то вроде этого

 $con=mysqli_connect("localhost","my_user","my_password","my_db"); 

замените эту строку

 $result = mysqli_query($GLOBALS["___mysqli_ston"], "INSERT INTO configuration_item(configurationItemVersion,configurationItemCaptureTime,configurationStateId) 

с этим

 $result = mysqli_query($con, "INSERT INTO configuration_item(configurationItemVersion,configurationItemCaptureTime,configurationStateId)