以下代码用于从php run_instance脚本中获取返回值。但是,返回的值($ instanceIds)采用数组格式。对于$ instanceIds数组中包含的每个值,我需要将这些值以及userName和serverName插入到单独行中的sql数据库中。但是,我感到困惑的是,我不知道如何以某种方式将$ instanceIds插入数据库,以便一次又一次地插入userName和serverName,直到数组结束。非常感谢任何帮助
<?php
session_start();
$name=mysql_real_escape_string($_SESSION['username']);
include 'mysql_connect.php';
// Select the database to use
mysql_select_db("database",$con);
// Describe the now-running instance to get the public URL
$result = $ec2Client->describeInstances(array(
'InstanceIds' => $instanceIds,
));
$server_record = mysql_query("INSERT INTO server_tbl (userName, serverName, serverId, isRunning) VALUES ('$name', 'runtest', '$instanceIds', 'X'");
print_r($instanceIds);
?>
答案 0 :(得分:2)
foreach ($instanceIds as $instanceId) {
$server_record = mysql_query("INSERT INTO server_tbl "
. "(userName, serverName, serverId, isRunning) "
. "VALUES ('$name', 'runtest', '$instanceId', 'X'");
}
答案 1 :(得分:0)
你真的,真的不应该使用mysql_real_escape_string()或mysql_query()或任何mysql函数。它们已被弃用,不安全,并且将来会从PHP中删除,从而破坏整个应用程序。使用mysqli或PDO代替,请为自己和用户造成很大的麻烦。
使用foreach循环迭代数组。
foreach ($instanceIds as $id){
$sql = "INSERT INTO server_tbl (userName, serverName, serverId, isRunning) VALUES ('$name', 'runtest', '$id', 'X')";
//do your insert here with the above SQL statement, depending on whether you use mysqli or PDO