Php 语法错误,意外'';Insert语句中的(T_封装了_和_空格)
我试图使用insert语句将会话中的数据插入数据库。我从登录屏幕传递数据,该屏幕存储在名为“login\u user”的会话变量中。我还有一个叫做“books”的会话,它存储了多个变量,比如书号、书名和书价 我有以下代码:Php 语法错误,意外'';Insert语句中的(T_封装了_和_空格),php,mysql,Php,Mysql,我试图使用insert语句将会话中的数据插入数据库。我从登录屏幕传递数据,该屏幕存储在名为“login\u user”的会话变量中。我还有一个叫做“books”的会话,它存储了多个变量,比如书号、书名和书价 我有以下代码: <?php session_start(); include_once("config.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-T
<?php
session_start();
include_once("config.php");
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>View shopping cart</title>
<link href="style/style.css" rel="stylesheet" type="text/css"></head>
<body>
<br>
<div id="books-wrapper">
<!-- #content to center the menu -->
<div id="content">
<!-- This is the actual menu -->
<ul id="darkmenu">
<li><a href="home.php">Home</a></li>
<li><a href="catalogue.php">Catalogue</a></li>
<li><a href="search.php">Search</a></li>
<li><a href= "view_cart.php">Cart</a></li>
<li><a href="#">Orders</a></li>
</ul>
<div id = "welcome" >
Welcome, <?=$_SESSION['login_user']?>! <br> <a href="logout.php">Logout</a>
</div>
</div>
<br><br>
<h1 id = "mainHeader" >View Cart</h1>
<br>
<div class="view-cart">
<?php
$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
if(isset($_SESSION["books"]))
{
if(isset($_POST['submit_btn']) ){
$sql = "INSERT INTO `orders` (`OrderNo`, `BookName`, `Quantity`, `TotalPrice`, `ISBN`, `StudentID`) VALUES (NULL, '$obj->Title', '$cart_itm['quantity']', '$total', '$ISBN', '$_SESSION['login_user']');";
}else {
$total = 0;
echo '<form method="post" action="">';
echo '<ul>';
$cart_items = 0;
foreach ($_SESSION["books"] as $cart_itm)
{
$ISBN = $cart_itm["ISBN"];
$results = $mysqli->query("SELECT Title,BookDesc,Price FROM books WHERE ISBN='$ISBN'");
$obj = $results->fetch_object();
echo '<li class="cart-itm">';
echo '<span class="remove-itm"><a href="cart_update.php?removep='.$cart_itm["ISBN"].'&return_url='.$current_url.'">×</a></span>';
echo '<div class="p-Price">'.$currency.$obj->Price.'</div>';
echo '<div class="book-info">';
echo '<h3>'.$obj->Title.' (ISBN :'.$ISBN.')</h3> ';
echo '<div class="p-quantity">Quantity : '.$cart_itm["quantity"].'</div>';
echo '<div>'.$obj->BookDesc.'</div>';
echo '</div>';
echo '</li>';
$subtotal = ($cart_itm["Price"]*$cart_itm["quantity"]);
$total = ($total + $subtotal);
echo '<input type="hidden" name="item_name['.$cart_items.']" value="'.$obj->Title.'" />';
echo '<input type="hidden" name="item_code['.$cart_items.']" value="'.$ISBN.'" />';
echo '<input type="hidden" name="item_desc['.$cart_items.']" value="'.$obj->BookDesc.'" />';
echo '<input type="hidden" name="item_quantity['.$cart_items.']" value="'.$cart_itm["quantity"].'" />';
$cart_items ++;
}
echo '</ul>';
echo '<span class="check-out-txt">';
echo '<strong>Total : '.$currency.$total.'</strong> ';
echo '</span>';
echo '<button name="sumbit_btn" class="save_order">Save Order</button>';
echo '</form>';
}else{
echo 'Your Cart is empty';
}
}
?>
</div>
</div>
</body>
</html>
查看购物车
欢迎
查看购物车
用下面的代码替换43行
$sql = "INSERT INTO `orders` (`OrderNo`, `BookName`, `Quantity`, `TotalPrice`, `ISBN`, `StudentID`) VALUES (NULL, $obj->Title, $cart_itm['quantity'], $total, $ISBN, $_SESSION['login_user']);";
让我知道它是否工作?将第43行替换为
$sql = "INSERT INTO `orders` (`OrderNo`, `BookName`, `Quantity`, `TotalPrice`, `ISBN`, `StudentID`) VALUES (NULL, '{$obj->Title}', '{$cart_itm['quantity']}', '{$total}', '{$ISBN}', '{$_SESSION['login_user']}');";
记住清理你的变量 “$cart\u itm['quantity']”
你认为这会奏效吗?把你的变量像这样连接起来:值(NULL,“$obj->Title.”,“$cart\u itm['quantity']”,“$total.”,“$ISBN.”,“$\u SESSION['login\u user']”,”)
啊,好的,谢谢!这似乎已经消除了这个错误,但现在它说我在第82行有一个意外的else:/做一些基本的调试:不,你没有连接变量!您好,这不起作用,我有以下错误语法错误,意外的“$obj”(T_变量),我在回答中做了一些更改。请尝试一下。将变量放在{}括号内。e.x$sql=“插入订单
(OrderNo
,BookName
,Quantity
,TotalPrice
,ISBN
,StudentID
)值(NULL,{$obj->Title},{$cart\u itm['Quantity']},{$total},{$ISBN},{$login用户登录});”;您好,如上所述,在第一篇帖子评论中。我现在得到:(!)解析错误:语法错误,第80行出现意外的'else'(T_else),这是因为在if语句之后确实有两个else。第一个在sql字符串之后,第二个在底部,“您的购物车是空的”。你不能那样做。尽量保持缩进,这样你就能看到了。嗯,你建议我怎么做?因为我需要输出一条消息,告诉用户如果他们没有添加任何内容,他们的篮子是空的。这就是你学习的方式。在这个问题上也不合适了。请参阅对您的问题的评论。