<?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=db",'root','123456'); $sql = 'delete * from student where sex = "男"'; $pdo.exec($sql); ?>
时间: 2024-02-26 17:58:12 浏览: 171
在你的代码中有一个错误,`delete`语句后面不应该跟着`*`,正确的语法是`delete from 表名`。所以你需要修改你的SQL语句为:
```php
$sql = 'delete from student where sex = "男"';
```
此外,`exec()`方法是PDO对象的方法,所以你需要使用PDO对象来调用它,而不是直接使用`$pdo`。将代码修改为以下内容:
```php
$pdo = new PDO("mysql:host=localhost;port=3306;dbname=db",'root','123456');
$sql = 'delete from student where sex = "男"';
$pdo->exec($sql);
```
这样就可以正确的执行删除语句了。
相关问题
$pdo = new PDO("mysql:host=$db_host;dbname=$db_user", $db_name, $db_pass);报错
这个错误可能有多种原因,以下是一些可能的解决方法:
1. 检查数据库主机名、用户名、密码和数据库名是否正确。
2. 确保你已经正确安装了 PDO 扩展。可以通过 phpinfo() 函数来查看 PHP 是否已经安装了 PDO 扩展。
3. 确认 MySQL 服务是否正在运行。在命令行下输入 `systemctl status mysql`(Linux)或 `net start mysql`(Windows)来检查 MySQL 服务是否正在运行。
4. 确定 MySQL 是否已经正确配置。检查 MySQL 配置文件中的端口号、socket 路径等参数是否正确。
5. 如果仍然无法解决这个问题,可以尝试在 PDO 连接代码中添加一个 try-catch 块,以便能够捕获和输出更详细的错误信息:
```
try {
$pdo = new PDO("mysql:host=$db_host;dbname=$db_user", $db_name, $db_pass);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
```
这样可以输出更详细的错误信息,帮助你更好地定位问题。
<html> <head></head> <body> <table> <tr><th>姓名</th><th>性别</th></tr> <?php $pdo = new PDO("mysql:host=localhost;port=3306;dbname=db",'root','123456'); $res = $pdo -> query("select * from student"); $book_info = array(); while ($row = $res -> fetch()){ $book_info[] = $res; } foreach ($book_info as $k){ echo "<tr>"."<td>".$k['name']."</td>"."<td>".$k['sex']."</td>"; } ?> </table> </body> </html>
这是一个包含 PHP 和 HTML 代码的文件,它使用 PDO 对 MySQL 数据库进行查询,获取学生信息并将其以表格的形式展示出来。具体来说,它查询了名为 "db" 的数据库中的 "student" 表,并将每个学生的姓名和性别作为一行添加到表格中。需要注意的是,这段代码在连接数据库时使用了默认的用户名和密码,可能不适用于所有环境。