【问题标题】:MySQL - table textMySQL - 表格文本
【发布时间】:2023-04-02 10:07:01
【问题描述】:

我正在尝试向 MySQL 消息表中插入一个文本,但它似乎无法正常工作。我尝试了数百种可能性,但我失败了

当你读到这句话时

mysql_query("INSERT INTO rapoarte (emitator,rec....

我正在尝试整合一个表格,但我不知道为什么它在这部分不起作用

<td><a href='alianta_principal.php?catre=".$g['id']."'>Accepta invitatia</a></td>

或者这个都没有

<td><a href='alianta_principal.php?catre=".$g['id']."'>Refuza invitatia</a></td>

MySQL 表是:

DROP TABLE IF EXISTS `rapoarte`;
CREATE TABLE `rapoarte` (
  `id` int(11) NOT NULL auto_increment,
  `emitator` int(11) NOT NULL,
  `receptor` int(11) NOT NULL,
  `titlu` text NOT NULL,
  `descriere` longtext NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

代码

$selectare = mysql_query("select * from membri where id !=".$citeste['id']);
 $g = mysql_fetch_array($selectare);

 $clan_nume = $klan_info['clan_nume'];
 $clan_id_test = $klan_info['clan_uid'];

if ($_GET['in']>0)
{

    mysql_query("INSERT INTO rapoarte (emitator,receptor,titlu,descriere)
            VALUES(".$citeste['id'].",'".$g['id']."','Invitatie','
            <table>
            <tr>
            <th>Aceasta este o invitatie a clanului $clan_nume</th>
            </tr>
            <tr>
            <td><a href='alianta_principal.php?catre=".$g['id']."'>Accepta invitatia</a></td>
            <td><a href='alianta_principal.php?catre=".$g['id']."'>Refuza invitatia</a></td>
            </tr>
            </table>')");

}

【问题讨论】:

  • Please, don't use mysql_* functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解 prepared statements,并使用 PDOMySQLi - this article 将帮助您决定哪个。
  • @FreshPrinceOfSO - 我读过你给我的文章,但我不能使用 MySQLi,我不明白......我的整个网站都是建立在 mysql_connect 函数之上的
  • 很高兴您花时间阅读它。这只是养成使用mysqli_ 函数的习惯的问题。从reading the manual 开始并测试差异。然后实施。
  • @FreshPrinceOfSO 当我用他的所有功能完成网站时,我会花时间翻译(或“进化”)成 mysqli
  • 很高兴听到这个消息。这是一个伟大开发者的好兆头。

标签: php mysql sql html-table


【解决方案1】:

如果您查看要尝试 INSERT 的内容,您会发现您正在传递未转义的单引号:

INSERT INTO rapoarte (emitator,receptor,titlu,descriere)
        VALUES(,'','Invitatie','
        <table>
        <tr>
        <th>Aceasta este o invitatie a clanului </th>
        </tr>
        <tr>
        <td><a href='alianta_principal.php?catre='>Accepta invitatia</a></td>
        <td><a href='alianta_principal.php?catre='>Refuza invitatia</a></td>
        </tr>
        </table>')

您需要对它们进行转义,或者最好将绑定参数与准备好的语句一起使用。

mysql_query("INSERT INTO rapoarte (emitator,receptor,titlu,descriere)
        VALUES(".$citeste['id'].",'".$g['id']."','Invitatie','
        <table>
        <tr>
        <th>Aceasta este o invitatie a clanului $clan_nume</th>
        </tr>
        <tr>
        <td><a href=\'alianta_principal.php?catre=".$g['id']."\'>Accepta invitatia</a></td>
        <td><a href=\'alianta_principal.php?catre=".$g['id']."\'>Refuza invitatia</a></td>
        </tr>
        </table>')");

【讨论】:

  • 双引号可以包含单引号,不用你说的转义。
  • @KarlenKishmiryan 想测试你的理论吗?
  • @AlexGoaga 如果这个答案有帮助,请考虑投票并marking it as an answer
  • 是的,我知道,但您必须等待“您可以在 4 分钟内接受答案”
  • @AlexGoaga 非常感谢!
猜你喜欢
  • 2011-09-07
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多