-1

试图从另一个表中存储 ID 值并且我得到

注意:数组到字符串的转换

在线

$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')";

这是我的代码:

$result = mysqli_query($con,"Select objectID from objects where objectName = '$_POST[relations]'");


if($result === FALSE) {
    die(mysqli_error()); // TODO: better error handling
}

$result = mysqli_fetch_assoc($result);
var_dump($result);

$sql = "Insert into classes (className) values ('$_POST[className]')";
$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
if (!mysqli_query($con,$sql2))
  {
  die('Error: ' . mysqli_error($con));
  }
print_r($_POST)

我的调试输出为:

array(1) { ["objectID"]=> string(1) "2" } 
Notice: Array to string conversion in C:\xampp\htdocs\matcher\insertclass.php on line 16
Error: Unknown column 'Array' in 'field list'
4

3 回答 3

2

这是你的问题:

$result = mysqli_fetch_assoc($result);
...
$sql2 = "Insert into relations (id, className) values ($result,'$_POST[className]')";
                                                       ^^^^^^^

mysqli_fetch_assoc 返回一个数组,然后您直接将其填充到另一个字符串中。

于 2013-05-17T21:14:29.333 回答
0

var_dump($_POST['className']) 在该查询之前会产生什么?此外, $_POST[className] 可能根本不应该解析,因为它可能认为 'className' 是一个常量。在查询中尝试 {$_POST['className']} 。

于 2013-05-17T21:08:10.537 回答
0

我认为 $result 是一个数组

$result['objectID'] => "2"

使用 $result['objectID'] 代替 $result

$sql2 = "Insert into relations (id, className) values ($result['objectID'],'$_POST[className]')";
于 2013-05-17T21:13:59.757 回答