PHP vs SQL查询拆分行

时间:2016-03-11 11:16:33

标签: php mysql

你好,我只需指向正确的方向。我花了很长时间来制作一个[对大多数人来说简单]的代码。

但是如果我要深入挖掘php或sql,我现在正处于十字路口。

我设法解析一些网页并将数据需要放入sql数据库。数据看起来像

<a>name of the street</a> of course I need a name of the street without html

现在

我可以通过php添加任何mysql命令吗? [这意味着我深入挖掘sql并传递该命令]

或者php vs mysql命令有一些限制[这意味着深入挖掘正则表达式以获得更好的结果]

是的,我找到了如何在sql中拆分行的示例我不确定是否可以通过它们。

1 个答案:

答案 0 :(得分:1)

PHP中有 three 类型的数据库连接或API;为了保持这一点,我将介绍PDO

  

您的问题:我可以在PHP中使用复杂的SQL,这意味着在查询中添加任何内容吗?
  答案: ,您可以 - 事实上,就像在数据库中运行它一样。

PHP是一种 weakly typed 语言,这意味着您无需使用 Ragex 来执行复杂的序列。

此处的示例是加入行以进行删除:

// Connecting to the database via PDO
$dsn = 'mysql: host=localhost; dbname=example';
$user = "user";
$password = "pass";
try {
   $db = new PDO($dsn, $user, $password);
   $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

// The query
$stmt = $db->prepare("DELETE t2.* FROM table t1 JOIN table1 t2 ON t1.column= t2.column");
if($stmt->execute()): echo 'Successfully deleted!'; endif; // Conditional statements

// note this returns a bool datatype so we can check if it was successful or not

要了解有关PDO的更多信息,您可以使用此manual

注意:如果采用这种方法,您可能需要阅读SQL Injections - PDO是安全的,但注意来自用户代码方。 (有关使用数据库的安全性,请参阅ClassesScopes的集成)。

Mysqli示例(根据要求):

$db = mysqli_connect("localhost","user","pass","name");
if($db->query("DELETE t2.* FROM table t1 JOIN table1 t2 ON t1.column= t2.column")):
    echo 'Deleted Successfully!';
endif;