&引用;类mysqli的对象无法转换为字符串;php插入错误
当我运行这段代码时,在声明一个新的mysqli对象的行中出现错误“类mysqli的对象无法转换为字符串”。不管我读了多少遍,我都找不到这个错误&引用;类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'];
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上留下的一些新评论;-)