Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;类mysqli的对象无法转换为字符串;php插入错误_Php_Mysql_Mysqli - Fatal编程技术网

&引用;类mysqli的对象无法转换为字符串;php插入错误

&引用;类mysqli的对象无法转换为字符串;php插入错误,php,mysql,mysqli,Php,Mysql,Mysqli,当我运行这段代码时,在声明一个新的mysqli对象的行中出现错误“类mysqli的对象无法转换为字符串”。不管我读了多少遍,我都找不到这个错误 if(isset($_SESSION['username'])) { echo $_POST['course'], $mysqli = new mysqli("localhost","sec_user","Uzg82t=u%#bNgPJw","GPA_Tracker"); $user = $_SESSION['username'];

当我运行这段代码时,在声明一个新的mysqli对象的行中出现错误“类mysqli的对象无法转换为字符串”。不管我读了多少遍,我都找不到这个错误

if(isset($_SESSION['username']))
{
   echo $_POST['course'],
   $mysqli = new mysqli("localhost","sec_user","Uzg82t=u%#bNgPJw","GPA_Tracker");
   $user = $_SESSION['username'];
   $stmt = $mysqli->prepare("INSERT into assessment_type (username, courseID, assessment, percentage) VALUES (?, ?, ?, ?)");
   $stmt->bind_param('ssss', $user, $_POST['course'], $_POST['assesment'], $_POST['percentage']);
   $stmt->execute();
}

如评论中所述,这就是问题所在:

echo $_POST['course'], //notice the comma, rather than a semi-colon ";"
$mysqli = new mysqli("localhost","sec_user","Uzg82t=u%#bNgPJw","GPA_Tracker");
echo
语句/构造接受一个逗号分隔的语句列表,因此遇到了
它认为它后面的下一个语句也要被回显。事实证明,下一条语句是对象创建语句,而
echo
只接受字符串

要修复此错误,请使用分号正确关闭您的
echo$\u POST['course']
,如下所示:

echo $_POST['course'];

echo$\u POST['course'],
应该是
echo$\u POST['course']由于逗号的原因,它试图回显
$mysqli
。有趣的是,坏的复制/粘贴会做什么,只是为了加快速度
回显
允许多个参数,逗号分隔,所以<代码>echo$\u帖子,新mysqli
。。。您正在尝试回显您的mysqli对象。可能是POST数组中的
assessment
中的一个拼写错误,正确的拼写是“assessment”。-如果是这样,错误报告将告诉您,因为您的专栏名为
assessment
;不需要。没错,@Fred ii-,你是对的。我把它放在那里,以便OP可以看到我试图表达的观点。查看我在OP上留下的一些新评论;-)