php Toolkit而不是框架

时间:2013-05-14 19:58:05

标签: php mysql oop pdo

我想创建自己的php工具包,而不是使用其中的一个框架,特别是因为它们遵循MVC,这不是我现在正在寻找的。我想从基础开始,并记住OO,我想在一个单独的文件(config.php)中连接一个简单的php mysql,在另一个文件中查询(index.php)

我尝试了这个,但它不起作用。我做错了什么?

root中的config.php

<?php
$dsn = 'mysql:dbname=testdb;host=localhost';
$username = 'root';
$password = 'root';
$dbh = new PDO($dsn, $username, $password);
?>

root中的index.php

<html>
<body>
<form action="" method="POST">
    <input type="text" name="search" autofocus />
    <input type="submit" value="search" />
</form>
</body>
</html>

<?php
require_once 'config.php';
$query = "SELECT * FROM table WHERE field = '" . $search . "'";
$results = mysql_query($query);
while($row = mysql_fetch_array($results)){ ?>
<li>
<?php echo $row['field']; ?>
</li>   
<?php } ?>

更新:请耐心等待,我对此的了解是新的。谢谢。

3 个答案:

答案 0 :(得分:3)

您正在混合mysql_*PDO ...在PDO中撰写您的问题并摆脱mysql_*业务。

答案 1 :(得分:1)

而不是

$query = "SELECT * FROM table WHERE field = '" . $search . "'";
$results = mysql_query($query);

使用类似

的内容
$stmt = $dbh->prepare("SELECT * FROM table WHERE field = :search");
$params = array(':search' => $search);

$res = $stmt->execute($params);

$results = $res->fetchAll();
..

答案 2 :(得分:0)

要确保包含config.php文件,只需在index.php中需要语句后打印出$ dbh变量

require_once 'config.php';
print_r($dbh);

你应该从手柄上取出某种打印件。