php mysql为特定行生成唯一where语句

时间:2014-02-07 15:55:38

标签: php mysql

让我们以TABLE(表格)为例

+------+--------+-----------+-------+
| col1 |  col2  |   col3    |  col4 |
+------+--------+-----------+-------+
|  11  |  text1 | long text |   g   |
|  22  |  text2 | long text |   5   |
|  11  |  text1 | long text |   x   |
|  44  |  textx | long text |   0   |
.... thousands of rows... 
+------+--------+-----------+-------+

我想创建一个php函数,say-unique_statement(...)为每行自动生成MYSQL WHERE子句的唯一语句

function unique_statement($table_name,$row)
{ // code
   return $statement;
}

$query = mysql_query("SELECT * FROM table");
while($row = mysql_fetch_assoc($query)
{
  echo '<a href="?WHERE='.unique_statement('table',$row).'">EDIT</a>'.$row['col1'].' etc...';
}

因此,根据用户请求,我只需显示表单即可编辑该特定行

$GET_['WHERE'] = mysql_real_escape_string($_GET['WHERE']);
$query = mysql_query("SELECT * FROM table WHERE $GET_['WHERE']");
// rest code to show that particular row for editing...

我可以创建自己的语句来选择任何特定的表,但问题是我有多个表,其列类型是任意的(数字,varchar,文本,日期时间等),而表可能有唯一或主索引或者可能没有任何索引。

因此,为了概括我的代码来编辑每个表的数据,我需要创建一个函数,该函数为SELECT WHERE子句的每一行自动生成唯一的语句。

我尝试了很多但是写了那个函数失败了......我想要一些mysql数据管理器(比如phpmyadmin,adminer,sqlbuddy)用来识别每一行的函数。请帮助...

0 个答案:

没有答案