未定义索引:___mysqli_ston

Undefined index: ___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); 
} 

} 
} 



?> 

根据 运行 此代码,我在标题中收到错误消息(未定义的索引:___mysqli_ston)并且不知道如何修复它,任何帮助将不胜感激。

ps 我正在使用 laravel 框架,如果它有所作为或打开其他解决方案。

我现在知道该错误与我没有数据库连接字符串这一事实有关,即 $GLOBALS["___mysqli_ston 是由生成器生成的。

据我了解,laravel 负责在其 mvc 架构中定义数据库连接,因此不需要重新定义。考虑到这一点,我的代码会是什么样子?

你一定是用这样的方式连接到 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)