Php 我不知道如何搜索与pdo匹配的行
我在pdo和php方面遇到了麻烦,因为我是一个php高手,知道的不多。我正在尝试连接到一个数据库(我这样做了),然后在查询(或其他)中搜索匹配的字符串。基本上,用户无法使用相同的用户名创建帐户。这是连接代码Php 我不知道如何搜索与pdo匹配的行,php,mysql,database,pdo,Php,Mysql,Database,Pdo,我在pdo和php方面遇到了麻烦,因为我是一个php高手,知道的不多。我正在尝试连接到一个数据库(我这样做了),然后在查询(或其他)中搜索匹配的字符串。基本上,用户无法使用相同的用户名创建帐户。这是连接代码 $conn = new PDO("mysql:host=localhost;dbname=users;","root",""); 这是不起作用的确认码:( 请帮帮我:)我有几点建议给你 首先,向users表中添加一个唯一的索引,如下所示: ALTER TABLE用户添加唯一(用户名) 在此
$conn = new PDO("mysql:host=localhost;dbname=users;","root","");
这是不起作用的确认码:(
请帮帮我:)我有几点建议给你
users
表中添加一个唯一的索引,如下所示:ALTER TABLE用户添加唯一(用户名)
在此之后,您将不需要担心名称重复:mySQL将抛出一个错误(但请小心并正确处理错误)
WHERE
子句。因此,您不需要在大量行中循环找到一行PDO->fetch()
和PDO->fetchAll()
。循环查询是一件非常糟糕的事情,因为这会减慢整个网站的速度你试过阅读手册吗?它提供了一些非常简单的例子来说明您需要什么:首先,在表中的
username
列上定义一个UNIQUE
,以防止if发生。然后,您可以选择尝试插入
,只捕获一个异常,或者使用WHERE username='desired username'
(使用准备好的语句)执行查询,如果该语句有0行,则可以继续。
$sql = 'SELECT username FROM users ORDER BY username';
foreach ($con->query($sql) as $row) {
if($username1 !== $row['username']) {
$acceptCounter++;
$username = $_GET['username'];
}
}