我正试图让这个打击计数器与pdo一起工作,但它一直在抱怨Parse错误:
语法错误,意外'(',期待标识符(T_STRING)或 第37行中的变量(T_VARIABLE)或“{”或“$”。
我不确定它是否是索引,因为我的数据库名称是group2,有一个表计数器和一个名为counter的列。我也尝试过使用mysql程序方法,但是我对其中的任何一个都不熟悉,而且我使用过的每个指南仍然提到了这些错误。我做错了什么。
*编辑新代码:
<?php
try
{
$dsn = "mysql:host=xxxxxxxxxxxxxx"; // Missing semi colon (;)
$conn = new PDO($dsn,'group2', 'xxxxxxxxxxxx'); //connection
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOexception $e)
{
Print($e->getMessage());
Exit;
}
$sql = ("SELECT * FROM counter");
$conn->query($sql);
$row = $conn->query($sql);
$counter =$row['counter'];
if(empty($counter))
{
$counter = 1;
$insert = $conn->query("INSERT INTO counter VALUES('$counter')");
}
$add= $counter+1;
$insertNew = $conn->("UPDATE counter SET counter = '$add'");
echo $counter;
?>
<?php $conn = null; ?>
答案 0 :(得分:1)
您的代码存在 lot 错误。
mysqle_select_db()
。有一个名为mysql_select_db()
,但由于您正在使用PDO,因此您可能希望使用$conn->query('use group2')
,如果有的话。$conn->query($sql);
只需要向下两行就行了。+
也不是有效的查询列。 SELECT + FROM counter[counter]
只是行不通。你可能打算做SELECT * FROM counter
。counter[counter]
列。你可能只想做$counter=$row['counter'];
(是的,你可以让MySQL在列名中使用方括号,但这很可能不是这里的意思)。$insertNew = $conn->("UPDATE counter SET counter = '$add'");
表格中有counter
列,则最有可能阅读counter
。编辑:
有一些小细节,你的脚本看起来还不错。
$conn->query($sql);
- 您在下一行再次执行此操作。else
语句的if
部分,因此它将在所有情况下运行)如果它仍然不起作用,你应该尝试将echo / print_r / var_dump语句放入代码中以查看它在哪里 - 例如:
print_r($conn->errorInfo());
将为您提供有关PDO内部错误的信息。
echo "$counter";
将为您提供选择的结果。
的print_r($ conn-&GT; errorInfo中());