データベースを作成する SQL のデータベース名を一致させるにはどうすればよいですか?
データベースを作成できる SQL の名前が一致する必要がある限り、あらゆる状況を考慮する必要があります。
名前には「」が含まれていない、スペースが含まれていない、キーワードが変更されていないなどがあります...
-----解決策-- ------------------
/creates+databases+(w+)/is
名前には「」やスペースを含めることはできません。 🎜>チャンスはない
<br>------解決策---------<font color="#e78608"></font><br>PHP コード
<br>------解決策---------<font color="#e78608"></font><br>PHP コード
<br>------解決策-----<font color="#e78608"></font>名前に使用できる記号は何ですか?たとえば、あなたが言ったように、() [w@#`()]<br>` がデータベース名の両側に表示されるか、同時に表示されないことを確認するだけです。 ` の数を制御することはできません。
<br><br>------解決策---------<font color="#e78608"></font><br>
------解決策---------記号の文字列を使用できます [:punct: ] は句読点を表し、[:punct:] は句読点を表します。同様のものには [:alnum:] [:space:]... それぞれがいくつかの種類の文字列を表します
は次のように変更できます
PHP コード
preg_match_all('/CREATEs+DATABASEs*((([`'"])?)([w[:punct:]]+)2s?)/is',$sql,$matchs);
<br>------解決策------------------<font color="#e78608"></font>
<br><br>PHP コード
を試してください
$databases = <<<br>------解決策--------<font color="#e78608"></font>上記は機能しません、「中間」 ' は偶数である必要があります。 。これはさらに厄介です。
<br><br>------解決策---------<font color="#e78608"></font><br>