任何人都可以帮我吗?我的代码不会运行,我无法弄清楚为什么不。
>>> s = '78 56 78 1 7 '
>>> for n in (int(x) for x in s.split()):
... print(n)
...
78
56
78
1
7
>>>
连接正在工作且处于活动状态,数据库名称为&行名称是正确的。
答案 0 :(得分:1)
试试这个
$result = mysql_query("SELECT * FROM planten WHERE naam='".$naam."'") or die(mysql_error());
答案 1 :(得分:1)
我认为问题出在您的查询语句中。由于$ naam是字符串,因此您需要使用引号将字符串括在查询中。请按照以下方式填写查询语句,然后尝试:
$result = mysql_query("SELECT * FROM `planten` WHERE `naam` ='$naam'");
答案 2 :(得分:0)
我猜你的$ naam应该是一个字符串。你应该逃避并引用它。否则,SQL会将其解释为虚假列名。
if (isset($_GET['naam']))
{
// query db
$naam = mysql_real_escape_string($_GET['naam']);
$result = mysql_query("SELECT * FROM planten WHERE naam='$naam'")
or die(mysql_error());
...
如果你use PDO with SQL query parameters,这会更安全,更容易。无需逃避任何事情或担心引用,因为它们都是通过使用参数为您完成的。
if (isset($_GET['naam']))
{
// query db
$sql = "SELECT * FROM planten WHERE naam=?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$_GET['naam']]);
...
FYI旧的" mysql_connect()" API在PHP 5。5(2013年6月)中已弃用,并已在PHP 7。0(2015年12月)中删除。见http://php.net/manual/en/mysqlinfo.api.choosing.php。
我建议使用PDO。