我已经对我想做的事情做了相当多的研究,尽管我什么也没有发现。我不太确定我是否在寻找正确的东西:(我对PHP和MySQL语法也有点陌生,所以请友好一点。
我想按这一顺序执行以下工作:
我已经用以下方法建立了与数据库的连接:
function connect() {
$dbname = 'database';
$dbuser = 'username';
$dbpass = 'password';
$dbhost = 'localhost';
mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to connect to database");
}然后调用函数connect();
然后,我希望查询数据库中的一个特定值,为了这个参数,我将使用一个静态值。这就是我所拥有的:
mysql_select_db(DATABASENAME) or die( "Unable to select database");
$query = "SELECT * FROM `TABLE` WHERE `COLUMN` LIKE 'VAULE'";
$result=mysql_query($query);从这里开始,我不太确定如何比较查询结果,以确定它是否匹配(类似于mysql行?)如果有匹配,那么我想获得整个行,并将每个值赋值给一个php变量。
我不是要求你为我做这件事,只是我踢向正确的方向应该是好的!
希望它能解释得足够多:)
谢谢您的指导
发布于 2012-03-29 12:19:43
你在哪里学到了如何在PHP中使用MySQL?mysql_*函数已有10多年的历史,不再被维护。社区已经开始在反对他们上工作。
// connection to database
$db = new PDO('mysql:host=localhost;dbname=datadump_pwmgr;charset=UTF-8',
'datadump_pwmgr',
'kzddim05xrgl');
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
// setting up prepared statement for the query
$statement = $db->prepare('SELECT * FROM table WHERE column LIKE :value');
$statement->bindParam(':value', $some_variable, PDO::PARAM_STR, 127);
// executing query and fetching first result
if ( $statement->execute())
{
$data = $statement->fetch(PDO::FETCH_OBJ);
var_dump( $data );
}这应该能给你一些你想要的东西。不过,我建议您试试本教程。了解更多关于准备好的陈述的知识也是有用的。
另外,如果使用对象,则可以创建单个DB连接对象,并将其传递给多个其他类来使用:
$pdo = new PDO('sqlite::memory:');
$a = new Foo( $pdo );
$b = new Bar( $pdo, 'something');这样,您就可以传递两个对象相同的数据库连接,并且不需要重新初始化它。
发布于 2012-03-29 12:22:29
好的。您将希望保持到mysql数据库的连接。一个常见的用途是$conn。
所以你会
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to connect to database");然后,无论是URL还是Post,或者仅仅是php文件中的一些变量,您都可以通过将变量放入查询本身来查询数据库。此外,在这里,您可以使用$conn,这样您就可以在一个包含中连接到数据库,而不必在每个需要连接到DB的地方生成所有的连接字符串。
$query = "SELECT * FROM `TABLE` WHERE `COLUMN` LIKE '%" . $varToCompare . "%'";
$result=mysql_query($query,$conn);上面你用的是类似的。你也许想看看做什么..。在哪里column=$var。
然后,您可以使用php将结果转到数组中(用于获取多行的查询)。
发布于 2012-03-29 12:15:18
我想你是在找这样的东西:
$count = mysql_num_rows($result);
//if there is more then 1 record retrieved from the database
if($count > 0)
{
//Do what ever you want to do here, which I think you want to be
while ($row = mysql_fetch_assoc($result))
{
echo $row["Columnname1"];
echo $row["Columnname2"];
echo $row["Columnname3"];
}
}
else
{
echo "There are no matches for this specific value";
}https://stackoverflow.com/questions/9924989
复制相似问题