小编Joh*_*ley的帖子

Docker MySQL 连接 DBeaver

我刚刚在 youtube 上完成了这个 Docker 教程:

https://www.youtube.com/watch?v=SXY0MLHP3hA&lc=Ugzp3vKtSOp0rn2lYyd4AaABAg

我能够为 PHP 和 MySQL 创建几个 Docker 容器。文件结构如下:

>Docker_PHP_MySQL
 >DB
   -Dockerfile
 >src
   -index.php
 >www
   -Dockerfile
 development.env
 docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

数据库 Dockerfile:

FROM mysql:8.0
Run Code Online (Sandbox Code Playgroud)

索引.php:

<?php
$mysqli = new mysqli('tut07-db', getenv('MYSQL_USER'), getenv('MYSQL_PASSWORD'), 'information_schema');
if($mysqli->connect_error) 
{
  echo 'Connection Error [', $mysqli->connect_errno, ']: ', $mysqli->connect_error;
} 
else 
{
  echo 'MySQLi Connected Successfully!';
}
?>
Run Code Online (Sandbox Code Playgroud)

www Dockerfile:

FROM php:7.2-apache

RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
Run Code Online (Sandbox Code Playgroud)

这是 development.env 文件:

MYSQL_USER=sys_admin
MYSQL_PASSWORD=sys_password
MYSQL_ROOT_PASSWORD=root_password
Run Code Online (Sandbox Code Playgroud)

最后是 docker-compose.yml 文件:

version: "3"

networks:
  tut07-frontend:
    driver: bridge
    ipam: …
Run Code Online (Sandbox Code Playgroud)

mysql dbconnection dbeaver docker docker-compose

10
推荐指数
4
解决办法
2万
查看次数

docker-compose 无法启动

在创建一系列允许我使用 MySQLI、PHP 和 phpmyadmin 的 docker 容器的演练之后,我之前取得了成功:

https://gist.github.com/jcavat/2ed51c6371b9b488d6a940ba1049189b

我决定再试一次并进行一些调整,例如尝试使用 PDO 而不是 MYSQLI。

从 docker-compose.yml 文件开始:

version: "3.7"
services:
www:
    build: .
    ports: 
        - "8001:80"
    volumes:
        - ./www:/var/www/html/
    links:
        - db
    networks:
        - default
db:
    image: mysql:5.7.13
    ports: 
        - "3306:3306"
    environment:
        MYSQL_DATABASE: myDb
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test
    volumes:
        - ./dump:/docker-entrypoint-initdb.d
        - persistent:/var/lib/mysql
    networks:
        - default
phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links: 
        - db:db
    ports:
        - 8000:80
    environment:
        MYSQL_USER: user
        MYSQL_PASSWORD: test
        MYSQL_ROOT_PASSWORD: test
volumes:
  persistent:
Run Code Online (Sandbox Code Playgroud)

这是我的 Dockerfile:

FROM php:7.0.30-apache 
RUN docker-php-ext-install …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

9
推荐指数
1
解决办法
9240
查看次数

Tailwind 3.3.2 - 模块未定义

我被困在一个包含 Tailwind 的教程中,在本例中是 Tailwind 3.3.2。

根据教程,我应该打开一个名为 tailwind.config.js 的文件并粘贴https://tailwindcss.com/docs/installation中的以下代码:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}
Run Code Online (Sandbox Code Playgroud)

我立即在“模块”下看到红色波浪线,错误如下:

在此输入图像描述

我做错了什么?本教程没有遇到这个错误。

javascript commonjs es6-modules tailwind-css

6
推荐指数
2
解决办法
8132
查看次数

mongoDB白名单IP

我看到类似的帖子,但没有一个能帮助我解决我的问题。

在学习了从头开始构建 MERN 应用程序的 Udemy 教程后,我陷入了 mongoose 连接的困境。

这是我的 index.js 代码:

const express = require("express");
const mongoose = require("mongoose");

const app = express();

app.use(express.json());

app.listen(5000, () => console.log("Server started on port 5000"));

app.use("/snippet", require("./routers/snippetRouter"));

mongoose.connect("mongodb+srv://snippetUser:_password_@
  snippet-manager.sometext.mongodb.net/main?retryWrites=
  true&w=majority", {
    useNewUrlParser: true,
    useUnifiedTopology: true
}, (err) => {
  if (err) return console.log("error here " + err);
  console.log("Connected to MongoDB");
});
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

Server started on port 5000
error here MongooseServerSelectionError: Could not connect to any 
servers in your MongoDB Atlas cluster. One common …
Run Code Online (Sandbox Code Playgroud)

whitelist mongoose mongodb express mern

5
推荐指数
1
解决办法
2万
查看次数

Microsoft.AspNetCore.Mvc.NewtonsoftJson 6.0.2 与 net5.0 不兼容

我正在 Mac 上使用 Visual Studio 2019,尝试启动 REST API 项目。

尝试安装 NewtonsoftJson 6.0.2 时立即陷入困境

我只是在学习教程,正在使用的 NewtonsoftJson 版本是 3.1.9。

首先 - 有没有办法安装 6.0.2?

其次 - 如果无法安装 6.0.2,是否有办法安装旧版本以便我可以继续本教程?

编辑

我在评论中按照建议添加了 Newtonsoft.Json 13.0.1,但我仍然在下面的文本下方看到红线,上面写着 AddNewtonsoftJson():

services.AddControllersWithViews().AddNewtonsoftJson();
Run Code Online (Sandbox Code Playgroud)

.net c# api rest .net-core

5
推荐指数
2
解决办法
3万
查看次数

排序后jQuery DataTable数据消失

我不确定为什么我的数据表中的数据在排序后消失了。

从用户单击提交按钮时触发的 jQuery 开始:

 $('#searchSubmit').on('click', function()
 {
   var searchbooking = $('#searchbooking').val();
   var searchbol = $('#searchbol').val();

   $.post('api/search.php', {searchbooking: searchbooking, searchbol: searchbol}, function(data)
   {
     var obj = JSON.parse(data);
     $('#tableBody').empty(); 
     var htmlToInsert = obj.map(function (item)
     {
       return '<tr><td>'+item.BOL_DATE+'</td><td>'+ item.BOOKING_NUM +'</td></tr>';
     });
     $('#tableBody').html(htmlToInsert.join(''));
   });
 });
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用 SQLSRV 编码的 PHP 脚本(我可能会添加):

 <?php
 if($_POST['searchbooking'] == true || $_POST['searchbol'] == true)
 {
   $_SESSION['where'] = "";
   $searchbooking = stripslashes(str_replace( "'", "''", $_POST['searchbooking']));
   $searchbol = stripslashes(str_replace( "'", "''", $_POST['searchbol']));

   if($searchbooking != "")
   {
     if( $_SESSION['where'] != "" ) $_SESSION['where'] …
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery datatables

4
推荐指数
1
解决办法
9202
查看次数

未捕获无法扩展未知按钮类型:excelHtml5

尝试使用我在另一个应用程序中使用的相同代码创建 Excel 导出按钮。

不幸的是,我收到以下错误:

Uncaught Cannot extend unknown button type: excelHtml5
Run Code Online (Sandbox Code Playgroud)

以下是在数据表上方生成按钮的代码部分:

"dom": 'Bfrtip',
"buttons": [
    {
        text: '<i class="fa fa-search"></i> Search All',
        className: 'searchAll btn btn-success btn-sm',
        action: function (e, dt, node, config)
        {
            $('#searchAllModal').modal('show'); 
        }                       
    },                  
    {
        extend: 'excelHtml5',  /*** here is the problem ***/
        title: 'Matchback Rail Export Results',
        text: '<i class="fa fa-download"></i> Export Results',
        className: 'btn btn-secondary btn-sm',
        customize: function( xlsx ) 
        {
            var sheet = xlsx.xl.worksheets['sheet1.xml'];

            $('row c[r^="A"]', sheet).attr( 's', '2' );
        },
        exportOptions: 
        { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery datatables

4
推荐指数
1
解决办法
1万
查看次数

jQuery数据表刷新后保留过滤器参数

根据我之前的一些问题,我正在使用数据表。我能够在表的顶部添加INPUT字段,以在数据表中进行各个列的搜索。

我现在需要做的是在页面刷新后保留在INPUT字段中输入的参数。

到目前为止,这是我的代码:

 // header input filters
 $('#example1 .filters th').each(function(){
   var title = $('#example1 thead th').eq($(this).index()).text();
   $(this).html('<input type="text" placeholder="Search '+title+'" />');
 });

 // set and print the datatable
 var $dataTable = $('#example1').DataTable({
   "ajax": 'api/dateset.php',
   "iDisplayLength": 25,
   "order": [[ 6, "desc" ]],
   "scrollY": 580,
   "scrollX": true,
   "bDestroy": true,
   "stateSave": true
 });

 // Apply the search to columns
 $dataTable.columns().eq(0).each(function(colIdx){
   $('input', $('.filters th')[colIdx]).on('keyup change', function(){
     $dataTable
       .column(colIdx)
       .search(this.value)
       .draw();
   });
 });
Run Code Online (Sandbox Code Playgroud)

如果您会在上面设置$ dataTable的部分中注意到,应该会看到“ stateSave”:true。使用该方法,页面刷新时,它会保存用户输入的参数搜索,但不会在“输入”字段中显示文本。

那就是我被困住的地方。

这是一个视觉表示:

刷新之前-

在此处输入图片说明

刷新后-

在此处输入图片说明

正如您在第二张图片中看到的那样,该搜索对于以TEST222开头的BOOKING很有效,但是该文本在BOOKING INPUT字段中不再可见。

我确实遇到了这篇文章:https : …

javascript jquery datatables

3
推荐指数
1
解决办法
6367
查看次数

PHP上传14MB文件失败

我试图弄清楚为什么这个上传脚本失败了。

从HTML FORM开始:

<form role="form" action="api/upload.php" method="post" enctype="multipart/form-data">
  <input id="file" name="file" type="file" />
  <input class="btn btn-primary" type="submit" value="Upload" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是PHP脚本:

<?php
if(isset($_FILES['file'])){
  $file = $_FILES['file'];
  $target_file = basename($_FILES["file"]["name"]);

  $file_name = $file['name'];
  $file_tmp = $file['tmp_name'];
  $file_size = $file['size'];
  $file_error = $file['error'];

  $file_ext = explode('.',$file_name);
  $file_ext = strtolower(end($file_ext));

  $allowed = array('txt', 'jpg', 'xlsx', 'pptx', 'docx', 'doc', 'xls', 'pdf');

  if(in_array($file_ext, $allowed)){
    if($file_error === 0){
      if($file_size <= 99600000){ // this was set to 600000
        $file_name_new = uniqid('', true) . '.' . $file_ext;
        $file_destination …
Run Code Online (Sandbox Code Playgroud)

html php upload

3
推荐指数
1
解决办法
120
查看次数

重新启动 Docker Compose 并更新数据库

我一直在使用仅包含 ID 和 NAME 列的 Docker Compose 处理一个简单的 MySQL 表。我尝试更新最初创建表的 myDb.sql 文件,如下所示:

CREATE TABLE `Person` (
  `id` int(11) NOT NULL,
  `firstName` varchar(50) NOT NULL, // updated this column
  `lastName` varchar(50) NOT NULL  // added this column
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

我将 NAME 列更新为 firstName,并添加了一个 lastName 列。

然后我通过运行 DOCKER-COMPOSE STOP 停止了 Docker 容器。

然后我通过运行 DOCKER-COMPOSE UP 重新启动了 Docker 容器。我什至尝试过 DOCKER-COMPOSE RESTART。

我能够在控制台中打印的错误消息是这样的:

SELECT '', id, `firstName` From Person<br>Unknown column 'firstName' in 'field list'
Run Code Online (Sandbox Code Playgroud)

这让我相信我没有正确重启 Docker Compose。

如何重新启动 Docker Compose 以便它运行 CREATE …

mysql docker docker-compose

1
推荐指数
1
解决办法
4799
查看次数

jQuery DataTables 行突出显示

使用 jQuery DataTables,我使用下面的代码来突出显示选定的行:

 var table = $('#example1').DataTable();        
 $('#example1 tbody').on('click', 'tr', function()
 {
   if($(this).hasClass('selected')){
     $(this).removeClass('selected');
   }
   else{
     table.$('tr.selected').removeClass('selected');
     $(this).addClass('selected');
   }
 });
Run Code Online (Sandbox Code Playgroud)

我还在页面顶部有这个页内 CSS 类:

 <style>
   tr.selected {background-color: #a6a6a6;}
 </style>
Run Code Online (Sandbox Code Playgroud)

上述所有内容都相应地起作用。我可以单击该行的任意位置,该行将突出显示。

然而,我遇到了一个问题。在每一行中,都有一些链接,用户可以单击这些链接来打开模式窗口。如果用户直接单击链接,模式将打开并且该行确实会突出显示。

如果用户首先单击该行,然后在同一行中单击链接以打开窗口,则会出现问题...现在该行不再突出显示。

我需要做的是无论他们单击同一行多少次,都将突出显示在该行上 - 直到他们单击不同的行。

我如何调整上面的 jQuery 来实现这一点?

javascript css jquery datatables

0
推荐指数
1
解决办法
7236
查看次数

日期不在控制台中显示为字符串

当我注意到日期时间没有在控制台中显示为字符串时,我正在检查一些旧代码.

以下是它在控制台中的外观:

在此输入图像描述

以下是显示上图的PHP代码:

data-conStatDate=".$row['STATUS_DATE_TIME']."
Run Code Online (Sandbox Code Playgroud)

我试着做以下事情:

data-conStatDate=".strtotime(date($row['STATUS_DATE_TIME'])."
Run Code Online (Sandbox Code Playgroud)

但那只输出了一年.

这看起来像是一个简单的任务,但我似乎无法弄清楚为什么日期会出现在控制台中.

html php mysql attributes date-formatting

0
推荐指数
1
解决办法
50
查看次数

不可调用成员 SqlCommand 不能像方法一样使用

刚开始学习 C# 和 SQL Server。

在 Visual Studio 2019 中,我有以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;

namespace ConnectingToSQLServer
{
  class Program
  {
    static void Main(string[] args)
    {
        string connectionString = "Data Source=(LocalDb)\\MSSQLLOCALDB;Initial Catalog=EmployeesDb;Integrated Security=True";

        using (SqlConnection conn = new SqlConnection(connectionString))
        {
            conn.Open();
            using (SqlCommand cmd = SqlCommand()) // <- error is pointing here
            {
                cmd.Connection = conn;
                cmd.CommandText = "SELECT * FROM Employees";

                SqlDataReader dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    // int id = …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server

0
推荐指数
1
解决办法
36
查看次数