你好,我只需指向正确的方向。我花了很长时间来制作一个[对大多数人来说简单]的代码。
但是如果我要深入挖掘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中拆分行的示例我不确定是否可以通过它们。
答案 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
是安全的,但注意来自用户代码方。 (有关使用数据库的安全性,请参阅Classes和Scopes的集成)。
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;