English 中文(简体)
要检查表格中是否含有一定值的某一行
原标题:To check if a certain row with certain value exists in table
  • 时间:2012-05-21 17:17:08
  •  标签:
  • php
  • mysql

我写了这个代码,它的工作原理, 但我仍然在想,是否有任何其他解决方案 更好,更简单。

$sql = "select * from db_member where username =  $name ";
$result = mysql_query($sql) or error(mysql_error());
if(mysql_num_rows($result) < 1) 
{
error("There is no user with name  $name .");
}
最佳回答

一个更快的方法来做到这一点:

$result = mysql_query("SELECT COUNT(1) FROM db_member WHERE username= ".mysql_real_escape_string($name)." ") or die(mysql_error());
if (mysql_result($result, 0) == 0) {
    echo  There is no user with name   . htmlspecialchars($name, ENT_QUOTES,  UTF-8 ) .  . ;
}

请检查 < a href=> "http://php.net/pdo" rel="nofollow" >http://php.net/pdo , 以更好地处理错误和查询参数....

我想这样用我的口吻... 已经不行了...

问题回答

不,如果没有其他细节,这是一个很好的解决办法。然而,你可以看一下以下各点:

  • take care of your indexes. If you could use a where clause on some indexed columns it would be perfect
  • if you plan to check the existence of an element before insertion, i ld rather catch the error than checking like you re doing.
  • you could indeed reduce overhead reducing the selection range, like mentionned by another member

参考参考值





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签